All functions:
  Elements:
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: lg2::details::do_log
    functionSourceFile: /src/lg2_stub.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void do_log(level, const std::source_location&, const char*, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: lg2::details::do_log
    functionSourceFile: /src/lg2_stub.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void do_log(level, const std::source_location&, const char*, ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/fuzz_fru_area.cpp:35,1
    - Dst: assign
      Src: /src/fuzz_fru_area.cpp:38,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/fuzz_fru_area.cpp:38,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - ' data'
    - ' remaining'
    - ' out'
    argTypes:
    - uint8_t*
    - size_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 42
    functionName: extractString
    functionSourceFile: /src/fuzz_fru_area.cpp
    functionUses: 0
    functionsReached:
    - assign
    - static_cast<uint8_t>
    - reinterpret_cast<const char*>
    linkageType: ''
    returnType: bool
    signature: "bool extractString(const uint8_t*& data, size_t& remaining,\n                          std::string&
      out)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: extractString
      Src: /src/fuzz_fru_area.cpp:70,1
    - Dst: std::string::empty
      Src: /src/fuzz_fru_area.cpp:74,1
    - Dst: ipmi::fru::PropertyMap::empty
      Src: /src/fuzz_fru_area.cpp:79,1
    - Dst: extractString
      Src: /src/fuzz_fru_area.cpp:92,1
    - Dst: std::string::empty
      Src: /src/fuzz_fru_area.cpp:96,1
    - Dst: ipmi::fru::PropertyMap::empty
      Src: /src/fuzz_fru_area.cpp:101,1
    - Dst: extractString
      Src: /src/fuzz_fru_area.cpp:114,1
    - Dst: std::string::empty
      Src: /src/fuzz_fru_area.cpp:118,1
    - Dst: ipmi::fru::PropertyMap::empty
      Src: /src/fuzz_fru_area.cpp:123,1
    - Dst: ipmi::fru::FruInventoryData::empty
      Src: /src/fuzz_fru_area.cpp:129,1
    - Dst: ipmi::fru::buildFruAreaData
      Src: /src/fuzz_fru_area.cpp:131,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 46
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 135
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/fuzz_fru_area.cpp
    functionUses: 0
    functionsReached:
    - ipmi::fru::PropertyMap::empty
    - extractString
    - std::string::empty
    - ipmi::fru::FruInventoryData::empty
    - ipmi::fru::buildFruAreaData
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::Payload::unpack
      Src: /src/fuzz_payload_unpack.cpp:56,1
    - Dst: ipmi::message::Payload::unpack
      Src: /src/fuzz_payload_unpack.cpp:69,1
    - Dst: ipmi::message::Payload::unpack
      Src: /src/fuzz_payload_unpack.cpp:78,1
    - Dst: ipmi::message::Payload::unpack
      Src: /src/fuzz_payload_unpack.cpp:87,1
    - Dst: ipmi::message::Payload::unpack
      Src: /src/fuzz_payload_unpack.cpp:98,1
    - Dst: ipmi::message::Payload::unpack
      Src: /src/fuzz_payload_unpack.cpp:108,1
    - Dst: ipmi::message::Payload::unpack
      Src: /src/fuzz_payload_unpack.cpp:118,1
    - Dst: ipmi::message::Payload::unpack
      Src: /src/fuzz_payload_unpack.cpp:132,1
    - Dst: ipmi::SecureBuffer::SecureBuffer
      Src: /src/fuzz_payload_unpack.cpp:141,1
    - Dst: ipmi::message::Payload::unpack
      Src: /src/fuzz_payload_unpack.cpp:142,1
    - Dst: ipmi::message::Payload::unpack
      Src: /src/fuzz_payload_unpack.cpp:152,1
    - Dst: ipmi::message::Payload::unpack
      Src: /src/fuzz_payload_unpack.cpp:161,1
    - Dst: ipmi::message::Payload::unpack
      Src: /src/fuzz_payload_unpack.cpp:166,1
    - Dst: ipmi::message::Payload::unpack
      Src: /src/fuzz_payload_unpack.cpp:175,1
    - Dst: ipmi::message::Payload::fullyUnpacked
      Src: /src/fuzz_payload_unpack.cpp:176,1
    - Dst: ipmi::message::Payload::reset
      Src: /src/fuzz_payload_unpack.cpp:179,1
    - Dst: ipmi::message::Payload::unpack
      Src: /src/fuzz_payload_unpack.cpp:181,1
    - Dst: ipmi::message::Payload::fullyUnpacked
      Src: /src/fuzz_payload_unpack.cpp:182,1
    - Dst: ipmi::message::Payload::pack
      Src: /src/fuzz_payload_unpack.cpp:196,1
    - Dst: std::memcpy
      Src: /src/fuzz_payload_unpack.cpp:202,1
    - Dst: ipmi::message::Payload::pack
      Src: /src/fuzz_payload_unpack.cpp:204,1
    - Dst: ipmi::message::Payload::drain
      Src: /src/fuzz_payload_unpack.cpp:205,1
    - Dst: std::min<size_t>
      Src: /src/fuzz_payload_unpack.cpp:208,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/fuzz_payload_unpack.cpp:212,1
    - Dst: ipmi::message::Payload::pack
      Src: /src/fuzz_payload_unpack.cpp:213,1
    - Dst: ipmi::message::Payload::pack
      Src: /src/fuzz_payload_unpack.cpp:218,1
    - Dst: ipmi::message::Payload::drain
      Src: /src/fuzz_payload_unpack.cpp:221,1
    - Dst: ipmi::message::Payload::size
      Src: /src/fuzz_payload_unpack.cpp:222,1
    - Dst: ipmi::message::Payload::data
      Src: /src/fuzz_payload_unpack.cpp:223,1
    - Dst: ipmi::message::Payload::pack
      Src: /src/fuzz_payload_unpack.cpp:231,1
    - Dst: ipmi::message::Payload::pack
      Src: /src/fuzz_payload_unpack.cpp:235,1
    - Dst: ipmi::message::Payload::drain
      Src: /src/fuzz_payload_unpack.cpp:239,1
    - Dst: ipmi::message::Payload::pack
      Src: /src/fuzz_payload_unpack.cpp:240,1
    - Dst: ipmi::message::Payload::pack
      Src: /src/fuzz_payload_unpack.cpp:245,1
    - Dst: ipmi::message::Payload::pack
      Src: /src/fuzz_payload_unpack.cpp:256,1
    - Dst: ipmi::message::Payload::drain
      Src: /src/fuzz_payload_unpack.cpp:257,1
    - Dst: std::move
      Src: /src/fuzz_payload_unpack.cpp:260,1
    - Dst: ipmi::message::Payload::unpack
      Src: /src/fuzz_payload_unpack.cpp:266,1
    - Dst: ipmi::message::Payload::fullyUnpacked
      Src: /src/fuzz_payload_unpack.cpp:267,1
    - Dst: std::memcpy
      Src: /src/fuzz_payload_unpack.cpp:280,1
    - Dst: ipmi::message::Payload::pack
      Src: /src/fuzz_payload_unpack.cpp:283,1
    - Dst: ipmi::message::Payload::drain
      Src: /src/fuzz_payload_unpack.cpp:284,1
    - Dst: ipmi::message::Payload::pack
      Src: /src/fuzz_payload_unpack.cpp:285,1
    - Dst: ipmi::message::Payload::drain
      Src: /src/fuzz_payload_unpack.cpp:286,1
    - Dst: ipmi::message::Payload::prepend
      Src: /src/fuzz_payload_unpack.cpp:289,1
    - Dst: ipmi::message::Payload::pack
      Src: /src/fuzz_payload_unpack.cpp:293,1
    - Dst: ipmi::message::Payload::drain
      Src: /src/fuzz_payload_unpack.cpp:294,1
    - Dst: ipmi::message::Payload::pack
      Src: /src/fuzz_payload_unpack.cpp:296,1
    - Dst: ipmi::message::Payload::resize
      Src: /src/fuzz_payload_unpack.cpp:299,1
    - Dst: ipmi::message::Payload::size
      Src: /src/fuzz_payload_unpack.cpp:299,1
    - Dst: ipmi::SecureBuffer::SecureBuffer
      Src: /src/fuzz_payload_unpack.cpp:304,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 123
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 312
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/fuzz_payload_unpack.cpp
    functionUses: 0
    functionsReached:
    - ipmi::message::Payload::size
    - ipmi::message::Payload::data
    - ipmi::message::Payload::reset
    - ipmi::message::Payload::pack
    - ipmi::message::Payload::unpack
    - ipmi::message::Payload::fullyUnpacked
    - ipmi::message::Payload::drain
    - std::min<size_t>
    - ipmi::SecureBuffer::SecureBuffer
    - ipmi::message::Payload::resize
    - std::move
    - ipmi::message::Payload::prepend
    - reinterpret_cast<const char*>
    - std::memcpy
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/fuzz_sensor_utils.cpp:30,1
    - Dst: std::memcpy
      Src: /src/fuzz_sensor_utils.cpp:31,1
    - Dst: std::memcpy
      Src: /src/fuzz_sensor_utils.cpp:32,1
    - Dst: ipmi::getSensorAttributes
      Src: /src/fuzz_sensor_utils.cpp:42,1
    - Dst: ipmi::scaleIPMIValueFromDouble
      Src: /src/fuzz_sensor_utils.cpp:49,1
    - Dst: ipmi::getScaledIPMIValue
      Src: /src/fuzz_sensor_utils.cpp:61,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 73
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/fuzz_sensor_utils.cpp
    functionUses: 0
    functionsReached:
    - ipmi::getScaledIPMIValue
    - ipmi::getSensorAttributes
    - ipmi::scaleIPMIValueFromDouble
    - std::memcpy
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:93,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' sensorInfo'
    argTypes:
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: ipmi::sensor::get::nameProperty
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.hpp
    functionUses: 0
    functionsReached:
    - begin
    - propertyInterfaces::begin
    linkageType: ''
    returnType: SensorName
    signature: SensorName nameProperty(const Info& sensorInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sensorPath::substr
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:106,1
    - Dst: sensorPath::find_last_of
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:107,1
    - Dst: sensorPath::length
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' sensorInfo'
    argTypes:
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 109
    functionName: ipmi::sensor::get::nameLeaf
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.hpp
    functionUses: 0
    functionsReached:
    - sensorPath::length
    - sensorPath::find_last_of
    - sensorPath::substr
    linkageType: ''
    returnType: SensorName
    signature: SensorName nameLeaf(const Info& sensorInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::get::nameLeaf
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:123,1
    - Dst: ipmi::sensor::get::nameProperty
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' sensorInfo'
    argTypes:
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: ipmi::sensor::get::nameLeafProperty
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.hpp
    functionUses: 0
    functionsReached:
    - ipmi::sensor::get::nameProperty
    - ipmi::sensor::get::nameLeaf
    linkageType: ''
    returnType: SensorName
    signature: SensorName nameLeafProperty(const Info& sensorInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmid_get_sd_bus_connection
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:184,1
    - Dst: enableScanning
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:187,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:190,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:192,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:194,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:195,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:195,1
    - Dst: setAssertionBytes
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:197,1
    - Dst: static_cast<uint16_t>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:197,1
    - Dst: std::get<T>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:197,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' sensorInfo'
    argTypes:
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 209
    functionName: ipmi::sensor::get::readingAssertion
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.hpp
    functionUses: 0
    functionsReached:
    - enableScanning
    - propertyInterfaces::begin
    - ipmid_get_sd_bus_connection
    - ipmi::getService
    - setAssertionBytes
    - begin
    - std::get<T>
    - ipmi::getDbusProperty
    - static_cast<uint16_t>
    - lg2::error
    linkageType: ''
    returnType: GetSensorResponse
    signature: GetSensorResponse readingAssertion(const Info& sensorInfo)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ipmid_get_sd_bus_connection
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:222,1
    - Dst: enableScanning
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:226,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:228,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:233,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:238,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:242,1
    - Dst: SensorFunctionalError
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:251,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:259,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:261,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:262,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:262,1
    - Dst: std::get<T>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:264,1
    - Dst: std::pow
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:265,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:269,1
    - Dst: std::numeric_limits<int8_t>::lowest
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:286,1
    - Dst: std::numeric_limits<int8_t>::max
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:287,1
    - Dst: std::numeric_limits<uint8_t>::lowest
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:291,1
    - Dst: std::numeric_limits<uint8_t>::max
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:292,1
    - Dst: setReading
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:294,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:294,1
    - Dst: std::clamp
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:294,1
    - Dst: std::isfinite
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:297,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:305,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:305,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:317,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:317,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:329,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:329,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:341,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:341,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:351,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:352,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:353,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:354,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 50
    argCount: 1
    argNames:
    - ' sensorInfo'
    argTypes:
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 356
    functionName: ipmi::sensor::get::readingData
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.hpp
    functionUses: 0
    functionsReached:
    - std::numeric_limits<int8_t>::max
    - ipmid_get_sd_bus_connection
    - static_cast<uint8_t>
    - begin
    - std::clamp
    - std::get<T>
    - setReading
    - ipmi::getDbusProperty
    - std::numeric_limits<int8_t>::lowest
    - enableScanning
    - ipmi::getService
    - std::pow
    - lg2::error
    - std::numeric_limits<uint8_t>::lowest
    - propertyInterfaces::begin
    - std::get<bool>
    - std::numeric_limits<uint8_t>::max
    - SensorFunctionalError
    - std::isfinite
    linkageType: ''
    returnType: GetSensorResponse
    signature: GetSensorResponse readingData(const Info& sensorInfo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: enableScanning
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:401,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:403,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:404,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:404,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:405,1
    - Dst: setAssertionBytes
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:410,1
    - Dst: static_cast<uint16_t>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:410,1
    - Dst: std::get<T>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:410,1
    - Dst: has_value
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:413,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - id
    - ' sensorInfo'
    - ' properties'
    argTypes:
    - uint8_t
    - Info
    - PropertyMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 419
    functionName: ipmi::sensor::get::readingAssertion
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.hpp
    functionUses: 0
    functionsReached:
    - enableScanning
    - propertyInterfaces::begin
    - setAssertionBytes
    - end
    - begin
    - find
    - std::get<T>
    - static_cast<uint16_t>
    - has_value
    linkageType: ''
    returnType: std::optional<GetSensorResponse>
    signature: "std::optional<GetSensorResponse> readingAssertion(\n    uint8_t id,
      const Info& sensorInfo, const PropertyMap& properties)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:434,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:435,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:437,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:439,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:440,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:442,1
    - Dst: SensorFunctionalError
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:449,1
    - Dst: enableScanning
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:456,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:458,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:459,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:459,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:460,1
    - Dst: std::get<T>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:465,1
    - Dst: std::pow
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:466,1
    - Dst: std::numeric_limits<int8_t>::max
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:475,1
    - Dst: std::numeric_limits<int8_t>::lowest
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:476,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:478,1
    - Dst: std::out_of_range
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:479,1
    - Dst: setReading
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:481,1
    - Dst: static_cast<int8_t>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:481,1
    - Dst: std::numeric_limits<uint8_t>::max
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:485,1
    - Dst: std::numeric_limits<uint8_t>::lowest
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:486,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:488,1
    - Dst: std::out_of_range
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:489,1
    - Dst: setReading
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:491,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:491,1
    - Dst: std::isfinite
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:494,1
    - Dst: has_value
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:499,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 39
    argCount: 3
    argNames:
    - id
    - ' sensorInfo'
    - ' properties'
    argTypes:
    - uint8_t
    - Info
    - PropertyMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 506
    functionName: ipmi::sensor::get::readingData
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.hpp
    functionUses: 0
    functionsReached:
    - std::numeric_limits<int8_t>::max
    - std::out_of_range
    - static_cast<uint8_t>
    - begin
    - find
    - static_cast<int8_t>
    - end
    - std::get<T>
    - setReading
    - std::numeric_limits<int8_t>::lowest
    - enableScanning
    - std::pow
    - lg2::error
    - std::numeric_limits<uint8_t>::lowest
    - has_value
    - std::get<bool>
    - propertyInterfaces::begin
    - std::numeric_limits<uint8_t>::max
    - SensorFunctionalError
    - std::isfinite
    linkageType: ''
    returnType: std::optional<GetSensorResponse>
    signature: "std::optional<GetSensorResponse> readingData(uint8_t id, const Info&
      sensorInfo,\n                                             const PropertyMap&
      properties)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:93,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' sensorInfo'
    argTypes:
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: ipmi::sensor::get::nameProperty
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.hpp
    functionUses: 1
    functionsReached:
    - begin
    - propertyInterfaces::begin
    linkageType: ''
    returnType: SensorName
    signature: SensorName nameProperty(const Info& sensorInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sensorPath::substr
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:106,1
    - Dst: sensorPath::find_last_of
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:107,1
    - Dst: sensorPath::length
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' sensorInfo'
    argTypes:
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 109
    functionName: ipmi::sensor::get::nameLeaf
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.hpp
    functionUses: 1
    functionsReached:
    - sensorPath::length
    - sensorPath::find_last_of
    - sensorPath::substr
    linkageType: ''
    returnType: SensorName
    signature: SensorName nameLeaf(const Info& sensorInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::get::nameLeaf
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:123,1
    - Dst: ipmi::sensor::get::nameProperty
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' sensorInfo'
    argTypes:
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: ipmi::sensor::get::nameLeafProperty
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.hpp
    functionUses: 0
    functionsReached:
    - ipmi::sensor::get::nameProperty
    - ipmi::sensor::get::nameLeaf
    linkageType: ''
    returnType: SensorName
    signature: SensorName nameLeafProperty(const Info& sensorInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmid_get_sd_bus_connection
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:184,1
    - Dst: enableScanning
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:187,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:190,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:192,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:194,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:195,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:195,1
    - Dst: setAssertionBytes
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:197,1
    - Dst: static_cast<uint16_t>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:197,1
    - Dst: std::get<T>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:197,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' sensorInfo'
    argTypes:
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 209
    functionName: ipmi::sensor::get::readingAssertion
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.hpp
    functionUses: 0
    functionsReached:
    - enableScanning
    - propertyInterfaces::begin
    - ipmid_get_sd_bus_connection
    - ipmi::getService
    - setAssertionBytes
    - begin
    - std::get<T>
    - ipmi::getDbusProperty
    - static_cast<uint16_t>
    - lg2::error
    linkageType: ''
    returnType: GetSensorResponse
    signature: GetSensorResponse readingAssertion(const Info& sensorInfo)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ipmid_get_sd_bus_connection
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:222,1
    - Dst: enableScanning
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:226,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:228,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:233,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:238,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:242,1
    - Dst: SensorFunctionalError
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:251,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:259,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:261,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:262,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:262,1
    - Dst: std::get<T>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:264,1
    - Dst: std::pow
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:265,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:269,1
    - Dst: std::numeric_limits<int8_t>::lowest
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:286,1
    - Dst: std::numeric_limits<int8_t>::max
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:287,1
    - Dst: std::numeric_limits<uint8_t>::lowest
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:291,1
    - Dst: std::numeric_limits<uint8_t>::max
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:292,1
    - Dst: setReading
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:294,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:294,1
    - Dst: std::clamp
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:294,1
    - Dst: std::isfinite
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:297,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:305,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:305,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:317,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:317,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:329,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:329,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:341,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:341,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:351,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:352,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:353,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:354,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 50
    argCount: 1
    argNames:
    - ' sensorInfo'
    argTypes:
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 356
    functionName: ipmi::sensor::get::readingData
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.hpp
    functionUses: 0
    functionsReached:
    - std::numeric_limits<int8_t>::max
    - ipmid_get_sd_bus_connection
    - static_cast<uint8_t>
    - begin
    - std::clamp
    - std::get<T>
    - setReading
    - ipmi::getDbusProperty
    - std::numeric_limits<int8_t>::lowest
    - enableScanning
    - ipmi::getService
    - std::pow
    - lg2::error
    - std::numeric_limits<uint8_t>::lowest
    - propertyInterfaces::begin
    - std::get<bool>
    - std::numeric_limits<uint8_t>::max
    - SensorFunctionalError
    - std::isfinite
    linkageType: ''
    returnType: GetSensorResponse
    signature: GetSensorResponse readingData(const Info& sensorInfo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: enableScanning
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:401,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:403,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:404,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:404,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:405,1
    - Dst: setAssertionBytes
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:410,1
    - Dst: static_cast<uint16_t>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:410,1
    - Dst: std::get<T>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:410,1
    - Dst: has_value
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:413,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - id
    - ' sensorInfo'
    - ' properties'
    argTypes:
    - uint8_t
    - Info
    - PropertyMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 419
    functionName: ipmi::sensor::get::readingAssertion
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.hpp
    functionUses: 0
    functionsReached:
    - enableScanning
    - propertyInterfaces::begin
    - setAssertionBytes
    - end
    - begin
    - find
    - std::get<T>
    - static_cast<uint16_t>
    - has_value
    linkageType: ''
    returnType: std::optional<GetSensorResponse>
    signature: "std::optional<GetSensorResponse> readingAssertion(\n    uint8_t id,
      const Info& sensorInfo, const PropertyMap& properties)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:434,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:435,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:437,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:439,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:440,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:442,1
    - Dst: SensorFunctionalError
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:449,1
    - Dst: enableScanning
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:456,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:458,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:459,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:459,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:460,1
    - Dst: std::get<T>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:465,1
    - Dst: std::pow
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:466,1
    - Dst: std::numeric_limits<int8_t>::max
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:475,1
    - Dst: std::numeric_limits<int8_t>::lowest
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:476,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:478,1
    - Dst: std::out_of_range
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:479,1
    - Dst: setReading
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:481,1
    - Dst: static_cast<int8_t>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:481,1
    - Dst: std::numeric_limits<uint8_t>::max
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:485,1
    - Dst: std::numeric_limits<uint8_t>::lowest
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:486,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:488,1
    - Dst: std::out_of_range
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:489,1
    - Dst: setReading
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:491,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:491,1
    - Dst: std::isfinite
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:494,1
    - Dst: has_value
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:499,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 39
    argCount: 3
    argNames:
    - id
    - ' sensorInfo'
    - ' properties'
    argTypes:
    - uint8_t
    - Info
    - PropertyMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 506
    functionName: ipmi::sensor::get::readingData
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.hpp
    functionUses: 0
    functionsReached:
    - std::numeric_limits<int8_t>::max
    - std::out_of_range
    - static_cast<uint8_t>
    - begin
    - find
    - static_cast<int8_t>
    - end
    - std::get<T>
    - setReading
    - std::numeric_limits<int8_t>::lowest
    - enableScanning
    - std::pow
    - lg2::error
    - std::numeric_limits<uint8_t>::lowest
    - has_value
    - std::get<bool>
    - propertyInterfaces::begin
    - std::numeric_limits<uint8_t>::max
    - SensorFunctionalError
    - std::isfinite
    linkageType: ''
    returnType: std::optional<GetSensorResponse>
    signature: "std::optional<GetSensorResponse> readingData(uint8_t id, const Info&
      sensorInfo,\n                                             const PropertyMap&
      properties)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::set::makeDbusMsg
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:545,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:548,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:549,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:552,1
    - Dst: static_cast<T>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:553,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:555,1
    - Dst: updateToDbus
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:557,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' cmdData'
    - ' sensorInfo'
    argTypes:
    - SetSensorReadingReq
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 541
    functionDepth: 1
    functionLinenumber: 541
    functionLinenumberEnd: 558
    functionName: ipmi::sensor::set::readingAssertion
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.hpp
    functionUses: 0
    functionsReached:
    - static_cast<T>
    - auto::append
    - propertyInterfaces::begin
    - updateToDbus
    - ipmi::sensor::set::makeDbusMsg
    linkageType: ''
    returnType: ipmi::Cc
    signature: "ipmi::Cc readingAssertion(const SetSensorReadingReq& cmdData,\n                          const
      Info& sensorInfo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::pow
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:571,1
    - Dst: ipmi::sensor::set::makeDbusMsg
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:574,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:577,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:578,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:582,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:584,1
    - Dst: updateToDbus
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:586,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' cmdData'
    - ' sensorInfo'
    argTypes:
    - SetSensorReadingReq
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 566
    functionDepth: 1
    functionLinenumber: 566
    functionLinenumberEnd: 587
    functionName: ipmi::sensor::set::readingData
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.hpp
    functionUses: 0
    functionsReached:
    - auto::append
    - propertyInterfaces::begin
    - updateToDbus
    - std::pow
    - ipmi::sensor::set::makeDbusMsg
    linkageType: ''
    returnType: ipmi::Cc
    signature: ipmi::Cc readingData(const SetSensorReadingReq& cmdData, const Info&
      sensorInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::set::eventdata
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' cmdData'
    - ' sensorInfo'
    argTypes:
    - SetSensorReadingReq
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 602
    functionDepth: 1
    functionLinenumber: 602
    functionLinenumberEnd: 606
    functionName: ipmi::sensor::set::eventdata1
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.hpp
    functionUses: 0
    functionsReached:
    - ipmi::sensor::set::eventdata
    linkageType: ''
    returnType: ipmi::Cc
    signature: "ipmi::Cc eventdata1(const SetSensorReadingReq& cmdData,\n                           const
      Info& sensorInfo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::set::eventdata
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:616,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' cmdData'
    - ' sensorInfo'
    argTypes:
    - SetSensorReadingReq
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 613
    functionDepth: 1
    functionLinenumber: 613
    functionLinenumberEnd: 617
    functionName: ipmi::sensor::set::eventdata2
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.hpp
    functionUses: 0
    functionsReached:
    - ipmi::sensor::set::eventdata
    linkageType: ''
    returnType: ipmi::Cc
    signature: "ipmi::Cc eventdata2(const SetSensorReadingReq& cmdData,\n                           const
      Info& sensorInfo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::set::eventdata
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:627,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' cmdData'
    - ' sensorInfo'
    argTypes:
    - SetSensorReadingReq
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 624
    functionDepth: 1
    functionLinenumber: 624
    functionLinenumberEnd: 628
    functionName: ipmi::sensor::set::eventdata3
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.hpp
    functionUses: 0
    functionsReached:
    - ipmi::sensor::set::eventdata
    linkageType: ''
    returnType: ipmi::Cc
    signature: "ipmi::Cc eventdata3(const SetSensorReadingReq& cmdData,\n                           const
      Info& sensorInfo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::set::makeDbusMsg
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:545,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:548,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:549,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:552,1
    - Dst: static_cast<T>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:553,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:555,1
    - Dst: updateToDbus
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:557,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' cmdData'
    - ' sensorInfo'
    argTypes:
    - SetSensorReadingReq
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 541
    functionDepth: 1
    functionLinenumber: 541
    functionLinenumberEnd: 558
    functionName: ipmi::sensor::set::readingAssertion
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.hpp
    functionUses: 0
    functionsReached:
    - static_cast<T>
    - auto::append
    - propertyInterfaces::begin
    - updateToDbus
    - ipmi::sensor::set::makeDbusMsg
    linkageType: ''
    returnType: ipmi::Cc
    signature: "ipmi::Cc readingAssertion(const SetSensorReadingReq& cmdData,\n                          const
      Info& sensorInfo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::pow
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:571,1
    - Dst: ipmi::sensor::set::makeDbusMsg
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:574,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:577,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:578,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:582,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:584,1
    - Dst: updateToDbus
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:586,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' cmdData'
    - ' sensorInfo'
    argTypes:
    - SetSensorReadingReq
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 566
    functionDepth: 1
    functionLinenumber: 566
    functionLinenumberEnd: 587
    functionName: ipmi::sensor::set::readingData
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.hpp
    functionUses: 0
    functionsReached:
    - auto::append
    - propertyInterfaces::begin
    - updateToDbus
    - std::pow
    - ipmi::sensor::set::makeDbusMsg
    linkageType: ''
    returnType: ipmi::Cc
    signature: ipmi::Cc readingData(const SetSensorReadingReq& cmdData, const Info&
      sensorInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::set::eventdata
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' cmdData'
    - ' sensorInfo'
    argTypes:
    - SetSensorReadingReq
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 602
    functionDepth: 1
    functionLinenumber: 602
    functionLinenumberEnd: 606
    functionName: ipmi::sensor::set::eventdata1
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.hpp
    functionUses: 0
    functionsReached:
    - ipmi::sensor::set::eventdata
    linkageType: ''
    returnType: ipmi::Cc
    signature: "ipmi::Cc eventdata1(const SetSensorReadingReq& cmdData,\n                           const
      Info& sensorInfo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::set::eventdata
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:616,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' cmdData'
    - ' sensorInfo'
    argTypes:
    - SetSensorReadingReq
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 613
    functionDepth: 1
    functionLinenumber: 613
    functionLinenumberEnd: 617
    functionName: ipmi::sensor::set::eventdata2
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.hpp
    functionUses: 0
    functionsReached:
    - ipmi::sensor::set::eventdata
    linkageType: ''
    returnType: ipmi::Cc
    signature: "ipmi::Cc eventdata2(const SetSensorReadingReq& cmdData,\n                           const
      Info& sensorInfo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::set::eventdata
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:627,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' cmdData'
    - ' sensorInfo'
    argTypes:
    - SetSensorReadingReq
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 624
    functionDepth: 1
    functionLinenumber: 624
    functionLinenumberEnd: 628
    functionName: ipmi::sensor::set::eventdata3
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.hpp
    functionUses: 0
    functionsReached:
    - ipmi::sensor::set::eventdata
    linkageType: ''
    returnType: ipmi::Cc
    signature: "ipmi::Cc eventdata3(const SetSensorReadingReq& cmdData,\n                           const
      Info& sensorInfo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:93,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' sensorInfo'
    argTypes:
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: ipmi::sensor::get::nameProperty
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.hpp
    functionUses: 2
    functionsReached:
    - begin
    - propertyInterfaces::begin
    linkageType: ''
    returnType: SensorName
    signature: SensorName nameProperty(const Info& sensorInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sensorPath::substr
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:106,1
    - Dst: sensorPath::find_last_of
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:107,1
    - Dst: sensorPath::length
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' sensorInfo'
    argTypes:
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 109
    functionName: ipmi::sensor::get::nameLeaf
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.hpp
    functionUses: 2
    functionsReached:
    - sensorPath::length
    - sensorPath::find_last_of
    - sensorPath::substr
    linkageType: ''
    returnType: SensorName
    signature: SensorName nameLeaf(const Info& sensorInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::get::nameLeaf
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:123,1
    - Dst: ipmi::sensor::get::nameProperty
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' sensorInfo'
    argTypes:
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: ipmi::sensor::get::nameLeafProperty
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.hpp
    functionUses: 0
    functionsReached:
    - ipmi::sensor::get::nameProperty
    - ipmi::sensor::get::nameLeaf
    linkageType: ''
    returnType: SensorName
    signature: SensorName nameLeafProperty(const Info& sensorInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmid_get_sd_bus_connection
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:184,1
    - Dst: enableScanning
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:187,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:190,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:192,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:194,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:195,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:195,1
    - Dst: setAssertionBytes
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:197,1
    - Dst: static_cast<uint16_t>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:197,1
    - Dst: std::get<T>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:197,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' sensorInfo'
    argTypes:
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 209
    functionName: ipmi::sensor::get::readingAssertion
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.hpp
    functionUses: 0
    functionsReached:
    - enableScanning
    - propertyInterfaces::begin
    - ipmid_get_sd_bus_connection
    - ipmi::getService
    - setAssertionBytes
    - begin
    - std::get<T>
    - ipmi::getDbusProperty
    - static_cast<uint16_t>
    - lg2::error
    linkageType: ''
    returnType: GetSensorResponse
    signature: GetSensorResponse readingAssertion(const Info& sensorInfo)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ipmid_get_sd_bus_connection
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:222,1
    - Dst: enableScanning
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:226,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:228,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:233,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:238,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:242,1
    - Dst: SensorFunctionalError
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:251,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:259,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:261,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:262,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:262,1
    - Dst: std::get<T>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:264,1
    - Dst: std::pow
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:265,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:269,1
    - Dst: std::numeric_limits<int8_t>::lowest
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:286,1
    - Dst: std::numeric_limits<int8_t>::max
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:287,1
    - Dst: std::numeric_limits<uint8_t>::lowest
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:291,1
    - Dst: std::numeric_limits<uint8_t>::max
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:292,1
    - Dst: setReading
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:294,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:294,1
    - Dst: std::clamp
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:294,1
    - Dst: std::isfinite
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:297,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:305,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:305,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:317,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:317,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:329,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:329,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:341,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:341,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:351,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:352,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:353,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:354,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 50
    argCount: 1
    argNames:
    - ' sensorInfo'
    argTypes:
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 356
    functionName: ipmi::sensor::get::readingData
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.hpp
    functionUses: 0
    functionsReached:
    - std::numeric_limits<int8_t>::max
    - ipmid_get_sd_bus_connection
    - static_cast<uint8_t>
    - begin
    - std::clamp
    - std::get<T>
    - setReading
    - ipmi::getDbusProperty
    - std::numeric_limits<int8_t>::lowest
    - enableScanning
    - ipmi::getService
    - std::pow
    - lg2::error
    - std::numeric_limits<uint8_t>::lowest
    - propertyInterfaces::begin
    - std::get<bool>
    - std::numeric_limits<uint8_t>::max
    - SensorFunctionalError
    - std::isfinite
    linkageType: ''
    returnType: GetSensorResponse
    signature: GetSensorResponse readingData(const Info& sensorInfo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: enableScanning
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:401,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:403,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:404,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:404,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:405,1
    - Dst: setAssertionBytes
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:410,1
    - Dst: static_cast<uint16_t>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:410,1
    - Dst: std::get<T>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:410,1
    - Dst: has_value
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:413,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - id
    - ' sensorInfo'
    - ' properties'
    argTypes:
    - uint8_t
    - Info
    - PropertyMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 419
    functionName: ipmi::sensor::get::readingAssertion
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.hpp
    functionUses: 0
    functionsReached:
    - enableScanning
    - propertyInterfaces::begin
    - setAssertionBytes
    - end
    - begin
    - find
    - std::get<T>
    - static_cast<uint16_t>
    - has_value
    linkageType: ''
    returnType: std::optional<GetSensorResponse>
    signature: "std::optional<GetSensorResponse> readingAssertion(\n    uint8_t id,
      const Info& sensorInfo, const PropertyMap& properties)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:434,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:435,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:437,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:439,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:440,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:442,1
    - Dst: SensorFunctionalError
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:449,1
    - Dst: enableScanning
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:456,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:458,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:459,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:459,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:460,1
    - Dst: std::get<T>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:465,1
    - Dst: std::pow
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:466,1
    - Dst: std::numeric_limits<int8_t>::max
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:475,1
    - Dst: std::numeric_limits<int8_t>::lowest
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:476,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:478,1
    - Dst: std::out_of_range
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:479,1
    - Dst: setReading
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:481,1
    - Dst: static_cast<int8_t>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:481,1
    - Dst: std::numeric_limits<uint8_t>::max
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:485,1
    - Dst: std::numeric_limits<uint8_t>::lowest
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:486,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:488,1
    - Dst: std::out_of_range
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:489,1
    - Dst: setReading
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:491,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:491,1
    - Dst: std::isfinite
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:494,1
    - Dst: has_value
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:499,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 39
    argCount: 3
    argNames:
    - id
    - ' sensorInfo'
    - ' properties'
    argTypes:
    - uint8_t
    - Info
    - PropertyMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 506
    functionName: ipmi::sensor::get::readingData
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.hpp
    functionUses: 0
    functionsReached:
    - std::numeric_limits<int8_t>::max
    - std::out_of_range
    - static_cast<uint8_t>
    - begin
    - find
    - static_cast<int8_t>
    - end
    - std::get<T>
    - setReading
    - std::numeric_limits<int8_t>::lowest
    - enableScanning
    - std::pow
    - lg2::error
    - std::numeric_limits<uint8_t>::lowest
    - has_value
    - std::get<bool>
    - propertyInterfaces::begin
    - std::numeric_limits<uint8_t>::max
    - SensorFunctionalError
    - std::isfinite
    linkageType: ''
    returnType: std::optional<GetSensorResponse>
    signature: "std::optional<GetSensorResponse> readingData(uint8_t id, const Info&
      sensorInfo,\n                                             const PropertyMap&
      properties)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:93,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' sensorInfo'
    argTypes:
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: ipmi::sensor::get::nameProperty
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.hpp
    functionUses: 3
    functionsReached:
    - begin
    - propertyInterfaces::begin
    linkageType: ''
    returnType: SensorName
    signature: SensorName nameProperty(const Info& sensorInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sensorPath::substr
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:106,1
    - Dst: sensorPath::find_last_of
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:107,1
    - Dst: sensorPath::length
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' sensorInfo'
    argTypes:
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 109
    functionName: ipmi::sensor::get::nameLeaf
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.hpp
    functionUses: 3
    functionsReached:
    - sensorPath::length
    - sensorPath::find_last_of
    - sensorPath::substr
    linkageType: ''
    returnType: SensorName
    signature: SensorName nameLeaf(const Info& sensorInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::get::nameLeaf
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:123,1
    - Dst: ipmi::sensor::get::nameProperty
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' sensorInfo'
    argTypes:
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: ipmi::sensor::get::nameLeafProperty
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.hpp
    functionUses: 0
    functionsReached:
    - ipmi::sensor::get::nameProperty
    - ipmi::sensor::get::nameLeaf
    linkageType: ''
    returnType: SensorName
    signature: SensorName nameLeafProperty(const Info& sensorInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmid_get_sd_bus_connection
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:184,1
    - Dst: enableScanning
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:187,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:190,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:192,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:194,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:195,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:195,1
    - Dst: setAssertionBytes
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:197,1
    - Dst: static_cast<uint16_t>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:197,1
    - Dst: std::get<T>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:197,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' sensorInfo'
    argTypes:
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 209
    functionName: ipmi::sensor::get::readingAssertion
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.hpp
    functionUses: 0
    functionsReached:
    - enableScanning
    - propertyInterfaces::begin
    - ipmid_get_sd_bus_connection
    - ipmi::getService
    - setAssertionBytes
    - begin
    - std::get<T>
    - ipmi::getDbusProperty
    - static_cast<uint16_t>
    - lg2::error
    linkageType: ''
    returnType: GetSensorResponse
    signature: GetSensorResponse readingAssertion(const Info& sensorInfo)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ipmid_get_sd_bus_connection
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:222,1
    - Dst: enableScanning
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:226,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:228,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:233,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:238,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:242,1
    - Dst: SensorFunctionalError
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:251,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:259,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:261,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:262,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:262,1
    - Dst: std::get<T>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:264,1
    - Dst: std::pow
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:265,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:269,1
    - Dst: std::numeric_limits<int8_t>::lowest
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:286,1
    - Dst: std::numeric_limits<int8_t>::max
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:287,1
    - Dst: std::numeric_limits<uint8_t>::lowest
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:291,1
    - Dst: std::numeric_limits<uint8_t>::max
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:292,1
    - Dst: setReading
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:294,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:294,1
    - Dst: std::clamp
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:294,1
    - Dst: std::isfinite
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:297,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:305,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:305,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:317,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:317,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:329,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:329,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:341,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:341,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:351,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:352,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:353,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:354,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 50
    argCount: 1
    argNames:
    - ' sensorInfo'
    argTypes:
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 356
    functionName: ipmi::sensor::get::readingData
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.hpp
    functionUses: 0
    functionsReached:
    - std::numeric_limits<int8_t>::max
    - ipmid_get_sd_bus_connection
    - static_cast<uint8_t>
    - begin
    - std::clamp
    - std::get<T>
    - setReading
    - ipmi::getDbusProperty
    - std::numeric_limits<int8_t>::lowest
    - enableScanning
    - ipmi::getService
    - std::pow
    - lg2::error
    - std::numeric_limits<uint8_t>::lowest
    - propertyInterfaces::begin
    - std::get<bool>
    - std::numeric_limits<uint8_t>::max
    - SensorFunctionalError
    - std::isfinite
    linkageType: ''
    returnType: GetSensorResponse
    signature: GetSensorResponse readingData(const Info& sensorInfo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: enableScanning
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:401,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:403,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:404,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:404,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:405,1
    - Dst: setAssertionBytes
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:410,1
    - Dst: static_cast<uint16_t>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:410,1
    - Dst: std::get<T>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:410,1
    - Dst: has_value
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:413,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - id
    - ' sensorInfo'
    - ' properties'
    argTypes:
    - uint8_t
    - Info
    - PropertyMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 419
    functionName: ipmi::sensor::get::readingAssertion
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.hpp
    functionUses: 0
    functionsReached:
    - enableScanning
    - propertyInterfaces::begin
    - setAssertionBytes
    - end
    - begin
    - find
    - std::get<T>
    - static_cast<uint16_t>
    - has_value
    linkageType: ''
    returnType: std::optional<GetSensorResponse>
    signature: "std::optional<GetSensorResponse> readingAssertion(\n    uint8_t id,
      const Info& sensorInfo, const PropertyMap& properties)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:434,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:435,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:437,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:439,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:440,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:442,1
    - Dst: SensorFunctionalError
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:449,1
    - Dst: enableScanning
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:456,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:458,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:459,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:459,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:460,1
    - Dst: std::get<T>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:465,1
    - Dst: std::pow
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:466,1
    - Dst: std::numeric_limits<int8_t>::max
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:475,1
    - Dst: std::numeric_limits<int8_t>::lowest
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:476,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:478,1
    - Dst: std::out_of_range
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:479,1
    - Dst: setReading
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:481,1
    - Dst: static_cast<int8_t>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:481,1
    - Dst: std::numeric_limits<uint8_t>::max
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:485,1
    - Dst: std::numeric_limits<uint8_t>::lowest
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:486,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:488,1
    - Dst: std::out_of_range
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:489,1
    - Dst: setReading
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:491,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:491,1
    - Dst: std::isfinite
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:494,1
    - Dst: has_value
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:499,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 39
    argCount: 3
    argNames:
    - id
    - ' sensorInfo'
    - ' properties'
    argTypes:
    - uint8_t
    - Info
    - PropertyMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 506
    functionName: ipmi::sensor::get::readingData
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.hpp
    functionUses: 0
    functionsReached:
    - std::numeric_limits<int8_t>::max
    - std::out_of_range
    - static_cast<uint8_t>
    - begin
    - find
    - static_cast<int8_t>
    - end
    - std::get<T>
    - setReading
    - std::numeric_limits<int8_t>::lowest
    - enableScanning
    - std::pow
    - lg2::error
    - std::numeric_limits<uint8_t>::lowest
    - has_value
    - std::get<bool>
    - propertyInterfaces::begin
    - std::numeric_limits<uint8_t>::max
    - SensorFunctionalError
    - std::isfinite
    linkageType: ''
    returnType: std::optional<GetSensorResponse>
    signature: "std::optional<GetSensorResponse> readingData(uint8_t id, const Info&
      sensorInfo,\n                                             const PropertyMap&
      properties)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::set::makeDbusMsg
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:545,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:548,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:549,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:552,1
    - Dst: static_cast<T>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:553,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:555,1
    - Dst: updateToDbus
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:557,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' cmdData'
    - ' sensorInfo'
    argTypes:
    - SetSensorReadingReq
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 541
    functionDepth: 1
    functionLinenumber: 541
    functionLinenumberEnd: 558
    functionName: ipmi::sensor::set::readingAssertion
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.hpp
    functionUses: 0
    functionsReached:
    - static_cast<T>
    - auto::append
    - propertyInterfaces::begin
    - updateToDbus
    - ipmi::sensor::set::makeDbusMsg
    linkageType: ''
    returnType: ipmi::Cc
    signature: "ipmi::Cc readingAssertion(const SetSensorReadingReq& cmdData,\n                          const
      Info& sensorInfo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::pow
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:571,1
    - Dst: ipmi::sensor::set::makeDbusMsg
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:574,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:577,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:578,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:582,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:584,1
    - Dst: updateToDbus
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:586,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' cmdData'
    - ' sensorInfo'
    argTypes:
    - SetSensorReadingReq
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 566
    functionDepth: 1
    functionLinenumber: 566
    functionLinenumberEnd: 587
    functionName: ipmi::sensor::set::readingData
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.hpp
    functionUses: 0
    functionsReached:
    - auto::append
    - propertyInterfaces::begin
    - updateToDbus
    - std::pow
    - ipmi::sensor::set::makeDbusMsg
    linkageType: ''
    returnType: ipmi::Cc
    signature: ipmi::Cc readingData(const SetSensorReadingReq& cmdData, const Info&
      sensorInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::set::eventdata
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' cmdData'
    - ' sensorInfo'
    argTypes:
    - SetSensorReadingReq
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 602
    functionDepth: 1
    functionLinenumber: 602
    functionLinenumberEnd: 606
    functionName: ipmi::sensor::set::eventdata1
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.hpp
    functionUses: 0
    functionsReached:
    - ipmi::sensor::set::eventdata
    linkageType: ''
    returnType: ipmi::Cc
    signature: "ipmi::Cc eventdata1(const SetSensorReadingReq& cmdData,\n                           const
      Info& sensorInfo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::set::eventdata
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:616,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' cmdData'
    - ' sensorInfo'
    argTypes:
    - SetSensorReadingReq
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 613
    functionDepth: 1
    functionLinenumber: 613
    functionLinenumberEnd: 617
    functionName: ipmi::sensor::set::eventdata2
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.hpp
    functionUses: 0
    functionsReached:
    - ipmi::sensor::set::eventdata
    linkageType: ''
    returnType: ipmi::Cc
    signature: "ipmi::Cc eventdata2(const SetSensorReadingReq& cmdData,\n                           const
      Info& sensorInfo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::set::eventdata
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:627,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' cmdData'
    - ' sensorInfo'
    argTypes:
    - SetSensorReadingReq
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 624
    functionDepth: 1
    functionLinenumber: 624
    functionLinenumberEnd: 628
    functionName: ipmi::sensor::set::eventdata3
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.hpp
    functionUses: 0
    functionsReached:
    - ipmi::sensor::set::eventdata
    linkageType: ''
    returnType: ipmi::Cc
    signature: "ipmi::Cc eventdata3(const SetSensorReadingReq& cmdData,\n                           const
      Info& sensorInfo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::set::makeDbusMsg
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:545,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:548,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:549,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:552,1
    - Dst: static_cast<T>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:553,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:555,1
    - Dst: updateToDbus
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:557,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' cmdData'
    - ' sensorInfo'
    argTypes:
    - SetSensorReadingReq
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 541
    functionDepth: 1
    functionLinenumber: 541
    functionLinenumberEnd: 558
    functionName: ipmi::sensor::set::readingAssertion
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.hpp
    functionUses: 0
    functionsReached:
    - static_cast<T>
    - auto::append
    - propertyInterfaces::begin
    - updateToDbus
    - ipmi::sensor::set::makeDbusMsg
    linkageType: ''
    returnType: ipmi::Cc
    signature: "ipmi::Cc readingAssertion(const SetSensorReadingReq& cmdData,\n                          const
      Info& sensorInfo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::pow
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:571,1
    - Dst: ipmi::sensor::set::makeDbusMsg
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:574,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:577,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:578,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:582,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:584,1
    - Dst: updateToDbus
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:586,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' cmdData'
    - ' sensorInfo'
    argTypes:
    - SetSensorReadingReq
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 566
    functionDepth: 1
    functionLinenumber: 566
    functionLinenumberEnd: 587
    functionName: ipmi::sensor::set::readingData
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.hpp
    functionUses: 0
    functionsReached:
    - auto::append
    - propertyInterfaces::begin
    - updateToDbus
    - std::pow
    - ipmi::sensor::set::makeDbusMsg
    linkageType: ''
    returnType: ipmi::Cc
    signature: ipmi::Cc readingData(const SetSensorReadingReq& cmdData, const Info&
      sensorInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::set::eventdata
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' cmdData'
    - ' sensorInfo'
    argTypes:
    - SetSensorReadingReq
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 602
    functionDepth: 1
    functionLinenumber: 602
    functionLinenumberEnd: 606
    functionName: ipmi::sensor::set::eventdata1
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.hpp
    functionUses: 0
    functionsReached:
    - ipmi::sensor::set::eventdata
    linkageType: ''
    returnType: ipmi::Cc
    signature: "ipmi::Cc eventdata1(const SetSensorReadingReq& cmdData,\n                           const
      Info& sensorInfo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::set::eventdata
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:616,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' cmdData'
    - ' sensorInfo'
    argTypes:
    - SetSensorReadingReq
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 613
    functionDepth: 1
    functionLinenumber: 613
    functionLinenumberEnd: 617
    functionName: ipmi::sensor::set::eventdata2
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.hpp
    functionUses: 0
    functionsReached:
    - ipmi::sensor::set::eventdata
    linkageType: ''
    returnType: ipmi::Cc
    signature: "ipmi::Cc eventdata2(const SetSensorReadingReq& cmdData,\n                           const
      Info& sensorInfo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::set::eventdata
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:627,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' cmdData'
    - ' sensorInfo'
    argTypes:
    - SetSensorReadingReq
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 624
    functionDepth: 1
    functionLinenumber: 624
    functionLinenumberEnd: 628
    functionName: ipmi::sensor::set::eventdata3
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.hpp
    functionUses: 0
    functionsReached:
    - ipmi::sensor::set::eventdata
    linkageType: ''
    returnType: ipmi::Cc
    signature: "ipmi::Cc eventdata3(const SetSensorReadingReq& cmdData,\n                           const
      Info& sensorInfo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:93,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' sensorInfo'
    argTypes:
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: ipmi::sensor::get::nameProperty
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.hpp
    functionUses: 4
    functionsReached:
    - begin
    - propertyInterfaces::begin
    linkageType: ''
    returnType: SensorName
    signature: SensorName nameProperty(const Info& sensorInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sensorPath::substr
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:106,1
    - Dst: sensorPath::find_last_of
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:107,1
    - Dst: sensorPath::length
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' sensorInfo'
    argTypes:
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 109
    functionName: ipmi::sensor::get::nameLeaf
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.hpp
    functionUses: 4
    functionsReached:
    - sensorPath::length
    - sensorPath::find_last_of
    - sensorPath::substr
    linkageType: ''
    returnType: SensorName
    signature: SensorName nameLeaf(const Info& sensorInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::get::nameLeaf
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:123,1
    - Dst: ipmi::sensor::get::nameProperty
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' sensorInfo'
    argTypes:
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: ipmi::sensor::get::nameLeafProperty
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.hpp
    functionUses: 0
    functionsReached:
    - ipmi::sensor::get::nameProperty
    - ipmi::sensor::get::nameLeaf
    linkageType: ''
    returnType: SensorName
    signature: SensorName nameLeafProperty(const Info& sensorInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmid_get_sd_bus_connection
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:184,1
    - Dst: enableScanning
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:187,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:190,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:192,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:194,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:195,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:195,1
    - Dst: setAssertionBytes
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:197,1
    - Dst: static_cast<uint16_t>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:197,1
    - Dst: std::get<T>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:197,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' sensorInfo'
    argTypes:
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 209
    functionName: ipmi::sensor::get::readingAssertion
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.hpp
    functionUses: 0
    functionsReached:
    - enableScanning
    - propertyInterfaces::begin
    - ipmid_get_sd_bus_connection
    - ipmi::getService
    - setAssertionBytes
    - begin
    - std::get<T>
    - ipmi::getDbusProperty
    - static_cast<uint16_t>
    - lg2::error
    linkageType: ''
    returnType: GetSensorResponse
    signature: GetSensorResponse readingAssertion(const Info& sensorInfo)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ipmid_get_sd_bus_connection
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:222,1
    - Dst: enableScanning
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:226,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:228,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:233,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:238,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:242,1
    - Dst: SensorFunctionalError
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:251,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:259,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:261,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:262,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:262,1
    - Dst: std::get<T>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:264,1
    - Dst: std::pow
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:265,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:269,1
    - Dst: std::numeric_limits<int8_t>::lowest
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:286,1
    - Dst: std::numeric_limits<int8_t>::max
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:287,1
    - Dst: std::numeric_limits<uint8_t>::lowest
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:291,1
    - Dst: std::numeric_limits<uint8_t>::max
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:292,1
    - Dst: setReading
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:294,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:294,1
    - Dst: std::clamp
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:294,1
    - Dst: std::isfinite
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:297,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:305,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:305,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:317,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:317,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:329,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:329,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:341,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:341,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:351,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:352,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:353,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:354,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 50
    argCount: 1
    argNames:
    - ' sensorInfo'
    argTypes:
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 356
    functionName: ipmi::sensor::get::readingData
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.hpp
    functionUses: 0
    functionsReached:
    - std::numeric_limits<int8_t>::max
    - ipmid_get_sd_bus_connection
    - static_cast<uint8_t>
    - begin
    - std::clamp
    - std::get<T>
    - setReading
    - ipmi::getDbusProperty
    - std::numeric_limits<int8_t>::lowest
    - enableScanning
    - ipmi::getService
    - std::pow
    - lg2::error
    - std::numeric_limits<uint8_t>::lowest
    - propertyInterfaces::begin
    - std::get<bool>
    - std::numeric_limits<uint8_t>::max
    - SensorFunctionalError
    - std::isfinite
    linkageType: ''
    returnType: GetSensorResponse
    signature: GetSensorResponse readingData(const Info& sensorInfo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: enableScanning
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:401,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:403,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:404,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:404,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:405,1
    - Dst: setAssertionBytes
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:410,1
    - Dst: static_cast<uint16_t>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:410,1
    - Dst: std::get<T>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:410,1
    - Dst: has_value
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:413,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - id
    - ' sensorInfo'
    - ' properties'
    argTypes:
    - uint8_t
    - Info
    - PropertyMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 419
    functionName: ipmi::sensor::get::readingAssertion
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.hpp
    functionUses: 0
    functionsReached:
    - enableScanning
    - propertyInterfaces::begin
    - setAssertionBytes
    - end
    - begin
    - find
    - std::get<T>
    - static_cast<uint16_t>
    - has_value
    linkageType: ''
    returnType: std::optional<GetSensorResponse>
    signature: "std::optional<GetSensorResponse> readingAssertion(\n    uint8_t id,
      const Info& sensorInfo, const PropertyMap& properties)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:434,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:435,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:437,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:439,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:440,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:442,1
    - Dst: SensorFunctionalError
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:449,1
    - Dst: enableScanning
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:456,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:458,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:459,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:459,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:460,1
    - Dst: std::get<T>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:465,1
    - Dst: std::pow
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:466,1
    - Dst: std::numeric_limits<int8_t>::max
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:475,1
    - Dst: std::numeric_limits<int8_t>::lowest
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:476,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:478,1
    - Dst: std::out_of_range
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:479,1
    - Dst: setReading
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:481,1
    - Dst: static_cast<int8_t>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:481,1
    - Dst: std::numeric_limits<uint8_t>::max
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:485,1
    - Dst: std::numeric_limits<uint8_t>::lowest
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:486,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:488,1
    - Dst: std::out_of_range
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:489,1
    - Dst: setReading
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:491,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:491,1
    - Dst: std::isfinite
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:494,1
    - Dst: has_value
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:499,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 39
    argCount: 3
    argNames:
    - id
    - ' sensorInfo'
    - ' properties'
    argTypes:
    - uint8_t
    - Info
    - PropertyMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 506
    functionName: ipmi::sensor::get::readingData
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.hpp
    functionUses: 0
    functionsReached:
    - std::numeric_limits<int8_t>::max
    - std::out_of_range
    - static_cast<uint8_t>
    - begin
    - find
    - static_cast<int8_t>
    - end
    - std::get<T>
    - setReading
    - std::numeric_limits<int8_t>::lowest
    - enableScanning
    - std::pow
    - lg2::error
    - std::numeric_limits<uint8_t>::lowest
    - has_value
    - std::get<bool>
    - propertyInterfaces::begin
    - std::numeric_limits<uint8_t>::max
    - SensorFunctionalError
    - std::isfinite
    linkageType: ''
    returnType: std::optional<GetSensorResponse>
    signature: "std::optional<GetSensorResponse> readingData(uint8_t id, const Info&
      sensorInfo,\n                                             const PropertyMap&
      properties)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:93,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' sensorInfo'
    argTypes:
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: ipmi::sensor::get::nameProperty
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.hpp
    functionUses: 5
    functionsReached:
    - begin
    - propertyInterfaces::begin
    linkageType: ''
    returnType: SensorName
    signature: SensorName nameProperty(const Info& sensorInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sensorPath::substr
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:106,1
    - Dst: sensorPath::find_last_of
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:107,1
    - Dst: sensorPath::length
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' sensorInfo'
    argTypes:
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 109
    functionName: ipmi::sensor::get::nameLeaf
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.hpp
    functionUses: 5
    functionsReached:
    - sensorPath::length
    - sensorPath::find_last_of
    - sensorPath::substr
    linkageType: ''
    returnType: SensorName
    signature: SensorName nameLeaf(const Info& sensorInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::get::nameLeaf
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:123,1
    - Dst: ipmi::sensor::get::nameProperty
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' sensorInfo'
    argTypes:
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: ipmi::sensor::get::nameLeafProperty
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.hpp
    functionUses: 0
    functionsReached:
    - ipmi::sensor::get::nameProperty
    - ipmi::sensor::get::nameLeaf
    linkageType: ''
    returnType: SensorName
    signature: SensorName nameLeafProperty(const Info& sensorInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmid_get_sd_bus_connection
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:184,1
    - Dst: enableScanning
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:187,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:190,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:192,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:194,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:195,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:195,1
    - Dst: setAssertionBytes
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:197,1
    - Dst: static_cast<uint16_t>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:197,1
    - Dst: std::get<T>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:197,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' sensorInfo'
    argTypes:
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 209
    functionName: ipmi::sensor::get::readingAssertion
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.hpp
    functionUses: 0
    functionsReached:
    - enableScanning
    - propertyInterfaces::begin
    - ipmid_get_sd_bus_connection
    - ipmi::getService
    - setAssertionBytes
    - begin
    - std::get<T>
    - ipmi::getDbusProperty
    - static_cast<uint16_t>
    - lg2::error
    linkageType: ''
    returnType: GetSensorResponse
    signature: GetSensorResponse readingAssertion(const Info& sensorInfo)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ipmid_get_sd_bus_connection
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:222,1
    - Dst: enableScanning
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:226,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:228,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:233,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:238,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:242,1
    - Dst: SensorFunctionalError
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:251,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:259,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:261,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:262,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:262,1
    - Dst: std::get<T>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:264,1
    - Dst: std::pow
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:265,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:269,1
    - Dst: std::numeric_limits<int8_t>::lowest
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:286,1
    - Dst: std::numeric_limits<int8_t>::max
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:287,1
    - Dst: std::numeric_limits<uint8_t>::lowest
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:291,1
    - Dst: std::numeric_limits<uint8_t>::max
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:292,1
    - Dst: setReading
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:294,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:294,1
    - Dst: std::clamp
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:294,1
    - Dst: std::isfinite
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:297,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:305,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:305,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:317,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:317,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:329,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:329,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:341,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:341,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:351,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:352,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:353,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:354,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 50
    argCount: 1
    argNames:
    - ' sensorInfo'
    argTypes:
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 356
    functionName: ipmi::sensor::get::readingData
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.hpp
    functionUses: 0
    functionsReached:
    - std::numeric_limits<int8_t>::max
    - ipmid_get_sd_bus_connection
    - static_cast<uint8_t>
    - begin
    - std::clamp
    - std::get<T>
    - setReading
    - ipmi::getDbusProperty
    - std::numeric_limits<int8_t>::lowest
    - enableScanning
    - ipmi::getService
    - std::pow
    - lg2::error
    - std::numeric_limits<uint8_t>::lowest
    - propertyInterfaces::begin
    - std::get<bool>
    - std::numeric_limits<uint8_t>::max
    - SensorFunctionalError
    - std::isfinite
    linkageType: ''
    returnType: GetSensorResponse
    signature: GetSensorResponse readingData(const Info& sensorInfo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: enableScanning
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:401,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:403,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:404,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:404,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:405,1
    - Dst: setAssertionBytes
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:410,1
    - Dst: static_cast<uint16_t>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:410,1
    - Dst: std::get<T>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:410,1
    - Dst: has_value
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:413,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - id
    - ' sensorInfo'
    - ' properties'
    argTypes:
    - uint8_t
    - Info
    - PropertyMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 419
    functionName: ipmi::sensor::get::readingAssertion
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.hpp
    functionUses: 0
    functionsReached:
    - enableScanning
    - propertyInterfaces::begin
    - setAssertionBytes
    - end
    - begin
    - find
    - std::get<T>
    - static_cast<uint16_t>
    - has_value
    linkageType: ''
    returnType: std::optional<GetSensorResponse>
    signature: "std::optional<GetSensorResponse> readingAssertion(\n    uint8_t id,
      const Info& sensorInfo, const PropertyMap& properties)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:434,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:435,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:437,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:439,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:440,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:442,1
    - Dst: SensorFunctionalError
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:449,1
    - Dst: enableScanning
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:456,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:458,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:459,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:459,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:460,1
    - Dst: std::get<T>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:465,1
    - Dst: std::pow
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:466,1
    - Dst: std::numeric_limits<int8_t>::max
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:475,1
    - Dst: std::numeric_limits<int8_t>::lowest
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:476,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:478,1
    - Dst: std::out_of_range
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:479,1
    - Dst: setReading
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:481,1
    - Dst: static_cast<int8_t>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:481,1
    - Dst: std::numeric_limits<uint8_t>::max
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:485,1
    - Dst: std::numeric_limits<uint8_t>::lowest
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:486,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:488,1
    - Dst: std::out_of_range
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:489,1
    - Dst: setReading
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:491,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:491,1
    - Dst: std::isfinite
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:494,1
    - Dst: has_value
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:499,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 39
    argCount: 3
    argNames:
    - id
    - ' sensorInfo'
    - ' properties'
    argTypes:
    - uint8_t
    - Info
    - PropertyMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 506
    functionName: ipmi::sensor::get::readingData
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.hpp
    functionUses: 0
    functionsReached:
    - std::numeric_limits<int8_t>::max
    - std::out_of_range
    - static_cast<uint8_t>
    - begin
    - find
    - static_cast<int8_t>
    - end
    - std::get<T>
    - setReading
    - std::numeric_limits<int8_t>::lowest
    - enableScanning
    - std::pow
    - lg2::error
    - std::numeric_limits<uint8_t>::lowest
    - has_value
    - std::get<bool>
    - propertyInterfaces::begin
    - std::numeric_limits<uint8_t>::max
    - SensorFunctionalError
    - std::isfinite
    linkageType: ''
    returnType: std::optional<GetSensorResponse>
    signature: "std::optional<GetSensorResponse> readingData(uint8_t id, const Info&
      sensorInfo,\n                                             const PropertyMap&
      properties)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::set::makeDbusMsg
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:545,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:548,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:549,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:552,1
    - Dst: static_cast<T>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:553,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:555,1
    - Dst: updateToDbus
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:557,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' cmdData'
    - ' sensorInfo'
    argTypes:
    - SetSensorReadingReq
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 541
    functionDepth: 1
    functionLinenumber: 541
    functionLinenumberEnd: 558
    functionName: ipmi::sensor::set::readingAssertion
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.hpp
    functionUses: 0
    functionsReached:
    - static_cast<T>
    - auto::append
    - propertyInterfaces::begin
    - updateToDbus
    - ipmi::sensor::set::makeDbusMsg
    linkageType: ''
    returnType: ipmi::Cc
    signature: "ipmi::Cc readingAssertion(const SetSensorReadingReq& cmdData,\n                          const
      Info& sensorInfo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::pow
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:571,1
    - Dst: ipmi::sensor::set::makeDbusMsg
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:574,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:577,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:578,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:582,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:584,1
    - Dst: updateToDbus
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:586,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' cmdData'
    - ' sensorInfo'
    argTypes:
    - SetSensorReadingReq
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 566
    functionDepth: 1
    functionLinenumber: 566
    functionLinenumberEnd: 587
    functionName: ipmi::sensor::set::readingData
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.hpp
    functionUses: 0
    functionsReached:
    - auto::append
    - propertyInterfaces::begin
    - updateToDbus
    - std::pow
    - ipmi::sensor::set::makeDbusMsg
    linkageType: ''
    returnType: ipmi::Cc
    signature: ipmi::Cc readingData(const SetSensorReadingReq& cmdData, const Info&
      sensorInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::set::eventdata
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' cmdData'
    - ' sensorInfo'
    argTypes:
    - SetSensorReadingReq
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 602
    functionDepth: 1
    functionLinenumber: 602
    functionLinenumberEnd: 606
    functionName: ipmi::sensor::set::eventdata1
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.hpp
    functionUses: 0
    functionsReached:
    - ipmi::sensor::set::eventdata
    linkageType: ''
    returnType: ipmi::Cc
    signature: "ipmi::Cc eventdata1(const SetSensorReadingReq& cmdData,\n                           const
      Info& sensorInfo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::set::eventdata
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:616,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' cmdData'
    - ' sensorInfo'
    argTypes:
    - SetSensorReadingReq
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 613
    functionDepth: 1
    functionLinenumber: 613
    functionLinenumberEnd: 617
    functionName: ipmi::sensor::set::eventdata2
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.hpp
    functionUses: 0
    functionsReached:
    - ipmi::sensor::set::eventdata
    linkageType: ''
    returnType: ipmi::Cc
    signature: "ipmi::Cc eventdata2(const SetSensorReadingReq& cmdData,\n                           const
      Info& sensorInfo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::set::eventdata
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:627,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' cmdData'
    - ' sensorInfo'
    argTypes:
    - SetSensorReadingReq
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 624
    functionDepth: 1
    functionLinenumber: 624
    functionLinenumberEnd: 628
    functionName: ipmi::sensor::set::eventdata3
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.hpp
    functionUses: 0
    functionsReached:
    - ipmi::sensor::set::eventdata
    linkageType: ''
    returnType: ipmi::Cc
    signature: "ipmi::Cc eventdata3(const SetSensorReadingReq& cmdData,\n                           const
      Info& sensorInfo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::set::makeDbusMsg
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:545,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:548,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:549,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:552,1
    - Dst: static_cast<T>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:553,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:555,1
    - Dst: updateToDbus
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:557,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' cmdData'
    - ' sensorInfo'
    argTypes:
    - SetSensorReadingReq
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 541
    functionDepth: 1
    functionLinenumber: 541
    functionLinenumberEnd: 558
    functionName: ipmi::sensor::set::readingAssertion
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.hpp
    functionUses: 0
    functionsReached:
    - static_cast<T>
    - auto::append
    - propertyInterfaces::begin
    - updateToDbus
    - ipmi::sensor::set::makeDbusMsg
    linkageType: ''
    returnType: ipmi::Cc
    signature: "ipmi::Cc readingAssertion(const SetSensorReadingReq& cmdData,\n                          const
      Info& sensorInfo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::pow
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:571,1
    - Dst: ipmi::sensor::set::makeDbusMsg
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:574,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:577,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:578,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:582,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:584,1
    - Dst: updateToDbus
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:586,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' cmdData'
    - ' sensorInfo'
    argTypes:
    - SetSensorReadingReq
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 566
    functionDepth: 1
    functionLinenumber: 566
    functionLinenumberEnd: 587
    functionName: ipmi::sensor::set::readingData
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.hpp
    functionUses: 0
    functionsReached:
    - auto::append
    - propertyInterfaces::begin
    - updateToDbus
    - std::pow
    - ipmi::sensor::set::makeDbusMsg
    linkageType: ''
    returnType: ipmi::Cc
    signature: ipmi::Cc readingData(const SetSensorReadingReq& cmdData, const Info&
      sensorInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::set::eventdata
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' cmdData'
    - ' sensorInfo'
    argTypes:
    - SetSensorReadingReq
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 602
    functionDepth: 1
    functionLinenumber: 602
    functionLinenumberEnd: 606
    functionName: ipmi::sensor::set::eventdata1
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.hpp
    functionUses: 0
    functionsReached:
    - ipmi::sensor::set::eventdata
    linkageType: ''
    returnType: ipmi::Cc
    signature: "ipmi::Cc eventdata1(const SetSensorReadingReq& cmdData,\n                           const
      Info& sensorInfo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::set::eventdata
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:616,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' cmdData'
    - ' sensorInfo'
    argTypes:
    - SetSensorReadingReq
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 613
    functionDepth: 1
    functionLinenumber: 613
    functionLinenumberEnd: 617
    functionName: ipmi::sensor::set::eventdata2
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.hpp
    functionUses: 0
    functionsReached:
    - ipmi::sensor::set::eventdata
    linkageType: ''
    returnType: ipmi::Cc
    signature: "ipmi::Cc eventdata2(const SetSensorReadingReq& cmdData,\n                           const
      Info& sensorInfo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::set::eventdata
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:627,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' cmdData'
    - ' sensorInfo'
    argTypes:
    - SetSensorReadingReq
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 624
    functionDepth: 1
    functionLinenumber: 624
    functionLinenumberEnd: 628
    functionName: ipmi::sensor::set::eventdata3
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.hpp
    functionUses: 0
    functionsReached:
    - ipmi::sensor::set::eventdata
    linkageType: ''
    returnType: ipmi::Cc
    signature: "ipmi::Cc eventdata3(const SetSensorReadingReq& cmdData,\n                           const
      Info& sensorInfo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:93,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' sensorInfo'
    argTypes:
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: ipmi::sensor::get::nameProperty
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.hpp
    functionUses: 6
    functionsReached:
    - begin
    - propertyInterfaces::begin
    linkageType: ''
    returnType: SensorName
    signature: SensorName nameProperty(const Info& sensorInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sensorPath::substr
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:106,1
    - Dst: sensorPath::find_last_of
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:107,1
    - Dst: sensorPath::length
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' sensorInfo'
    argTypes:
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 109
    functionName: ipmi::sensor::get::nameLeaf
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.hpp
    functionUses: 6
    functionsReached:
    - sensorPath::length
    - sensorPath::find_last_of
    - sensorPath::substr
    linkageType: ''
    returnType: SensorName
    signature: SensorName nameLeaf(const Info& sensorInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::get::nameLeaf
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:123,1
    - Dst: ipmi::sensor::get::nameProperty
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' sensorInfo'
    argTypes:
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: ipmi::sensor::get::nameLeafProperty
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.hpp
    functionUses: 0
    functionsReached:
    - ipmi::sensor::get::nameProperty
    - ipmi::sensor::get::nameLeaf
    linkageType: ''
    returnType: SensorName
    signature: SensorName nameLeafProperty(const Info& sensorInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmid_get_sd_bus_connection
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:184,1
    - Dst: enableScanning
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:187,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:190,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:192,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:194,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:195,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:195,1
    - Dst: setAssertionBytes
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:197,1
    - Dst: static_cast<uint16_t>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:197,1
    - Dst: std::get<T>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:197,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' sensorInfo'
    argTypes:
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 209
    functionName: ipmi::sensor::get::readingAssertion
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.hpp
    functionUses: 0
    functionsReached:
    - enableScanning
    - propertyInterfaces::begin
    - ipmid_get_sd_bus_connection
    - ipmi::getService
    - setAssertionBytes
    - begin
    - std::get<T>
    - ipmi::getDbusProperty
    - static_cast<uint16_t>
    - lg2::error
    linkageType: ''
    returnType: GetSensorResponse
    signature: GetSensorResponse readingAssertion(const Info& sensorInfo)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ipmid_get_sd_bus_connection
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:222,1
    - Dst: enableScanning
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:226,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:228,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:233,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:238,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:242,1
    - Dst: SensorFunctionalError
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:251,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:259,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:261,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:262,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:262,1
    - Dst: std::get<T>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:264,1
    - Dst: std::pow
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:265,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:269,1
    - Dst: std::numeric_limits<int8_t>::lowest
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:286,1
    - Dst: std::numeric_limits<int8_t>::max
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:287,1
    - Dst: std::numeric_limits<uint8_t>::lowest
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:291,1
    - Dst: std::numeric_limits<uint8_t>::max
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:292,1
    - Dst: setReading
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:294,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:294,1
    - Dst: std::clamp
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:294,1
    - Dst: std::isfinite
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:297,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:305,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:305,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:317,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:317,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:329,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:329,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:341,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:341,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:351,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:352,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:353,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:354,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 50
    argCount: 1
    argNames:
    - ' sensorInfo'
    argTypes:
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 356
    functionName: ipmi::sensor::get::readingData
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.hpp
    functionUses: 0
    functionsReached:
    - std::numeric_limits<int8_t>::max
    - ipmid_get_sd_bus_connection
    - static_cast<uint8_t>
    - begin
    - std::clamp
    - std::get<T>
    - setReading
    - ipmi::getDbusProperty
    - std::numeric_limits<int8_t>::lowest
    - enableScanning
    - ipmi::getService
    - std::pow
    - lg2::error
    - std::numeric_limits<uint8_t>::lowest
    - propertyInterfaces::begin
    - std::get<bool>
    - std::numeric_limits<uint8_t>::max
    - SensorFunctionalError
    - std::isfinite
    linkageType: ''
    returnType: GetSensorResponse
    signature: GetSensorResponse readingData(const Info& sensorInfo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: enableScanning
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:401,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:403,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:404,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:404,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:405,1
    - Dst: setAssertionBytes
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:410,1
    - Dst: static_cast<uint16_t>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:410,1
    - Dst: std::get<T>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:410,1
    - Dst: has_value
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:413,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - id
    - ' sensorInfo'
    - ' properties'
    argTypes:
    - uint8_t
    - Info
    - PropertyMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 419
    functionName: ipmi::sensor::get::readingAssertion
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.hpp
    functionUses: 0
    functionsReached:
    - enableScanning
    - propertyInterfaces::begin
    - setAssertionBytes
    - end
    - begin
    - find
    - std::get<T>
    - static_cast<uint16_t>
    - has_value
    linkageType: ''
    returnType: std::optional<GetSensorResponse>
    signature: "std::optional<GetSensorResponse> readingAssertion(\n    uint8_t id,
      const Info& sensorInfo, const PropertyMap& properties)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:434,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:435,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:437,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:439,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:440,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:442,1
    - Dst: SensorFunctionalError
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:449,1
    - Dst: enableScanning
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:456,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:458,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:459,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:459,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:460,1
    - Dst: std::get<T>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:465,1
    - Dst: std::pow
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:466,1
    - Dst: std::numeric_limits<int8_t>::max
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:475,1
    - Dst: std::numeric_limits<int8_t>::lowest
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:476,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:478,1
    - Dst: std::out_of_range
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:479,1
    - Dst: setReading
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:481,1
    - Dst: static_cast<int8_t>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:481,1
    - Dst: std::numeric_limits<uint8_t>::max
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:485,1
    - Dst: std::numeric_limits<uint8_t>::lowest
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:486,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:488,1
    - Dst: std::out_of_range
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:489,1
    - Dst: setReading
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:491,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:491,1
    - Dst: std::isfinite
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:494,1
    - Dst: has_value
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:499,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 39
    argCount: 3
    argNames:
    - id
    - ' sensorInfo'
    - ' properties'
    argTypes:
    - uint8_t
    - Info
    - PropertyMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 506
    functionName: ipmi::sensor::get::readingData
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.hpp
    functionUses: 0
    functionsReached:
    - std::numeric_limits<int8_t>::max
    - std::out_of_range
    - static_cast<uint8_t>
    - begin
    - find
    - static_cast<int8_t>
    - end
    - std::get<T>
    - setReading
    - std::numeric_limits<int8_t>::lowest
    - enableScanning
    - std::pow
    - lg2::error
    - std::numeric_limits<uint8_t>::lowest
    - has_value
    - std::get<bool>
    - propertyInterfaces::begin
    - std::numeric_limits<uint8_t>::max
    - SensorFunctionalError
    - std::isfinite
    linkageType: ''
    returnType: std::optional<GetSensorResponse>
    signature: "std::optional<GetSensorResponse> readingData(uint8_t id, const Info&
      sensorInfo,\n                                             const PropertyMap&
      properties)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:93,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' sensorInfo'
    argTypes:
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: ipmi::sensor::get::nameProperty
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.hpp
    functionUses: 7
    functionsReached:
    - begin
    - propertyInterfaces::begin
    linkageType: ''
    returnType: SensorName
    signature: SensorName nameProperty(const Info& sensorInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sensorPath::substr
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:106,1
    - Dst: sensorPath::find_last_of
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:107,1
    - Dst: sensorPath::length
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' sensorInfo'
    argTypes:
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 109
    functionName: ipmi::sensor::get::nameLeaf
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.hpp
    functionUses: 7
    functionsReached:
    - sensorPath::length
    - sensorPath::find_last_of
    - sensorPath::substr
    linkageType: ''
    returnType: SensorName
    signature: SensorName nameLeaf(const Info& sensorInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::get::nameLeaf
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:123,1
    - Dst: ipmi::sensor::get::nameProperty
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' sensorInfo'
    argTypes:
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: ipmi::sensor::get::nameLeafProperty
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.hpp
    functionUses: 0
    functionsReached:
    - ipmi::sensor::get::nameProperty
    - ipmi::sensor::get::nameLeaf
    linkageType: ''
    returnType: SensorName
    signature: SensorName nameLeafProperty(const Info& sensorInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmid_get_sd_bus_connection
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:184,1
    - Dst: enableScanning
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:187,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:190,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:192,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:194,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:195,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:195,1
    - Dst: setAssertionBytes
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:197,1
    - Dst: static_cast<uint16_t>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:197,1
    - Dst: std::get<T>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:197,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' sensorInfo'
    argTypes:
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 209
    functionName: ipmi::sensor::get::readingAssertion
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.hpp
    functionUses: 0
    functionsReached:
    - enableScanning
    - propertyInterfaces::begin
    - ipmid_get_sd_bus_connection
    - ipmi::getService
    - setAssertionBytes
    - begin
    - std::get<T>
    - ipmi::getDbusProperty
    - static_cast<uint16_t>
    - lg2::error
    linkageType: ''
    returnType: GetSensorResponse
    signature: GetSensorResponse readingAssertion(const Info& sensorInfo)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ipmid_get_sd_bus_connection
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:222,1
    - Dst: enableScanning
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:226,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:228,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:233,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:238,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:242,1
    - Dst: SensorFunctionalError
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:251,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:259,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:261,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:262,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:262,1
    - Dst: std::get<T>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:264,1
    - Dst: std::pow
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:265,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:269,1
    - Dst: std::numeric_limits<int8_t>::lowest
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:286,1
    - Dst: std::numeric_limits<int8_t>::max
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:287,1
    - Dst: std::numeric_limits<uint8_t>::lowest
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:291,1
    - Dst: std::numeric_limits<uint8_t>::max
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:292,1
    - Dst: setReading
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:294,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:294,1
    - Dst: std::clamp
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:294,1
    - Dst: std::isfinite
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:297,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:305,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:305,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:317,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:317,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:329,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:329,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:341,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:341,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:351,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:352,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:353,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:354,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 50
    argCount: 1
    argNames:
    - ' sensorInfo'
    argTypes:
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 356
    functionName: ipmi::sensor::get::readingData
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.hpp
    functionUses: 0
    functionsReached:
    - std::numeric_limits<int8_t>::max
    - ipmid_get_sd_bus_connection
    - static_cast<uint8_t>
    - begin
    - std::clamp
    - std::get<T>
    - setReading
    - ipmi::getDbusProperty
    - std::numeric_limits<int8_t>::lowest
    - enableScanning
    - ipmi::getService
    - std::pow
    - lg2::error
    - std::numeric_limits<uint8_t>::lowest
    - propertyInterfaces::begin
    - std::get<bool>
    - std::numeric_limits<uint8_t>::max
    - SensorFunctionalError
    - std::isfinite
    linkageType: ''
    returnType: GetSensorResponse
    signature: GetSensorResponse readingData(const Info& sensorInfo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: enableScanning
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:401,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:403,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:404,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:404,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:405,1
    - Dst: setAssertionBytes
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:410,1
    - Dst: static_cast<uint16_t>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:410,1
    - Dst: std::get<T>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:410,1
    - Dst: has_value
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:413,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - id
    - ' sensorInfo'
    - ' properties'
    argTypes:
    - uint8_t
    - Info
    - PropertyMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 419
    functionName: ipmi::sensor::get::readingAssertion
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.hpp
    functionUses: 0
    functionsReached:
    - enableScanning
    - propertyInterfaces::begin
    - setAssertionBytes
    - end
    - begin
    - find
    - std::get<T>
    - static_cast<uint16_t>
    - has_value
    linkageType: ''
    returnType: std::optional<GetSensorResponse>
    signature: "std::optional<GetSensorResponse> readingAssertion(\n    uint8_t id,
      const Info& sensorInfo, const PropertyMap& properties)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:434,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:435,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:437,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:439,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:440,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:442,1
    - Dst: SensorFunctionalError
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:449,1
    - Dst: enableScanning
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:456,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:458,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:459,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:459,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:460,1
    - Dst: std::get<T>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:465,1
    - Dst: std::pow
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:466,1
    - Dst: std::numeric_limits<int8_t>::max
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:475,1
    - Dst: std::numeric_limits<int8_t>::lowest
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:476,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:478,1
    - Dst: std::out_of_range
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:479,1
    - Dst: setReading
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:481,1
    - Dst: static_cast<int8_t>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:481,1
    - Dst: std::numeric_limits<uint8_t>::max
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:485,1
    - Dst: std::numeric_limits<uint8_t>::lowest
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:486,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:488,1
    - Dst: std::out_of_range
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:489,1
    - Dst: setReading
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:491,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:491,1
    - Dst: std::isfinite
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:494,1
    - Dst: has_value
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:499,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 39
    argCount: 3
    argNames:
    - id
    - ' sensorInfo'
    - ' properties'
    argTypes:
    - uint8_t
    - Info
    - PropertyMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 506
    functionName: ipmi::sensor::get::readingData
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.hpp
    functionUses: 0
    functionsReached:
    - std::numeric_limits<int8_t>::max
    - std::out_of_range
    - static_cast<uint8_t>
    - begin
    - find
    - static_cast<int8_t>
    - end
    - std::get<T>
    - setReading
    - std::numeric_limits<int8_t>::lowest
    - enableScanning
    - std::pow
    - lg2::error
    - std::numeric_limits<uint8_t>::lowest
    - has_value
    - std::get<bool>
    - propertyInterfaces::begin
    - std::numeric_limits<uint8_t>::max
    - SensorFunctionalError
    - std::isfinite
    linkageType: ''
    returnType: std::optional<GetSensorResponse>
    signature: "std::optional<GetSensorResponse> readingData(uint8_t id, const Info&
      sensorInfo,\n                                             const PropertyMap&
      properties)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::set::makeDbusMsg
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:545,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:548,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:549,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:552,1
    - Dst: static_cast<T>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:553,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:555,1
    - Dst: updateToDbus
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:557,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' cmdData'
    - ' sensorInfo'
    argTypes:
    - SetSensorReadingReq
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 541
    functionDepth: 1
    functionLinenumber: 541
    functionLinenumberEnd: 558
    functionName: ipmi::sensor::set::readingAssertion
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.hpp
    functionUses: 0
    functionsReached:
    - static_cast<T>
    - auto::append
    - propertyInterfaces::begin
    - updateToDbus
    - ipmi::sensor::set::makeDbusMsg
    linkageType: ''
    returnType: ipmi::Cc
    signature: "ipmi::Cc readingAssertion(const SetSensorReadingReq& cmdData,\n                          const
      Info& sensorInfo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::pow
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:571,1
    - Dst: ipmi::sensor::set::makeDbusMsg
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:574,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:577,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:578,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:582,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:584,1
    - Dst: updateToDbus
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:586,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' cmdData'
    - ' sensorInfo'
    argTypes:
    - SetSensorReadingReq
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 566
    functionDepth: 1
    functionLinenumber: 566
    functionLinenumberEnd: 587
    functionName: ipmi::sensor::set::readingData
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.hpp
    functionUses: 0
    functionsReached:
    - auto::append
    - propertyInterfaces::begin
    - updateToDbus
    - std::pow
    - ipmi::sensor::set::makeDbusMsg
    linkageType: ''
    returnType: ipmi::Cc
    signature: ipmi::Cc readingData(const SetSensorReadingReq& cmdData, const Info&
      sensorInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::set::eventdata
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' cmdData'
    - ' sensorInfo'
    argTypes:
    - SetSensorReadingReq
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 602
    functionDepth: 1
    functionLinenumber: 602
    functionLinenumberEnd: 606
    functionName: ipmi::sensor::set::eventdata1
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.hpp
    functionUses: 0
    functionsReached:
    - ipmi::sensor::set::eventdata
    linkageType: ''
    returnType: ipmi::Cc
    signature: "ipmi::Cc eventdata1(const SetSensorReadingReq& cmdData,\n                           const
      Info& sensorInfo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::set::eventdata
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:616,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' cmdData'
    - ' sensorInfo'
    argTypes:
    - SetSensorReadingReq
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 613
    functionDepth: 1
    functionLinenumber: 613
    functionLinenumberEnd: 617
    functionName: ipmi::sensor::set::eventdata2
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.hpp
    functionUses: 0
    functionsReached:
    - ipmi::sensor::set::eventdata
    linkageType: ''
    returnType: ipmi::Cc
    signature: "ipmi::Cc eventdata2(const SetSensorReadingReq& cmdData,\n                           const
      Info& sensorInfo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::set::eventdata
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:627,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' cmdData'
    - ' sensorInfo'
    argTypes:
    - SetSensorReadingReq
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 624
    functionDepth: 1
    functionLinenumber: 624
    functionLinenumberEnd: 628
    functionName: ipmi::sensor::set::eventdata3
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.hpp
    functionUses: 0
    functionsReached:
    - ipmi::sensor::set::eventdata
    linkageType: ''
    returnType: ipmi::Cc
    signature: "ipmi::Cc eventdata3(const SetSensorReadingReq& cmdData,\n                           const
      Info& sensorInfo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::set::makeDbusMsg
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:545,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:548,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:549,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:552,1
    - Dst: static_cast<T>
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:553,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:555,1
    - Dst: updateToDbus
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:557,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' cmdData'
    - ' sensorInfo'
    argTypes:
    - SetSensorReadingReq
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 541
    functionDepth: 1
    functionLinenumber: 541
    functionLinenumberEnd: 558
    functionName: ipmi::sensor::set::readingAssertion
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.hpp
    functionUses: 0
    functionsReached:
    - static_cast<T>
    - auto::append
    - propertyInterfaces::begin
    - updateToDbus
    - ipmi::sensor::set::makeDbusMsg
    linkageType: ''
    returnType: ipmi::Cc
    signature: "ipmi::Cc readingAssertion(const SetSensorReadingReq& cmdData,\n                          const
      Info& sensorInfo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::pow
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:571,1
    - Dst: ipmi::sensor::set::makeDbusMsg
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:574,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:577,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:578,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:582,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:584,1
    - Dst: updateToDbus
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:586,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' cmdData'
    - ' sensorInfo'
    argTypes:
    - SetSensorReadingReq
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 566
    functionDepth: 1
    functionLinenumber: 566
    functionLinenumberEnd: 587
    functionName: ipmi::sensor::set::readingData
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.hpp
    functionUses: 0
    functionsReached:
    - auto::append
    - propertyInterfaces::begin
    - updateToDbus
    - std::pow
    - ipmi::sensor::set::makeDbusMsg
    linkageType: ''
    returnType: ipmi::Cc
    signature: ipmi::Cc readingData(const SetSensorReadingReq& cmdData, const Info&
      sensorInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::set::eventdata
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' cmdData'
    - ' sensorInfo'
    argTypes:
    - SetSensorReadingReq
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 602
    functionDepth: 1
    functionLinenumber: 602
    functionLinenumberEnd: 606
    functionName: ipmi::sensor::set::eventdata1
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.hpp
    functionUses: 0
    functionsReached:
    - ipmi::sensor::set::eventdata
    linkageType: ''
    returnType: ipmi::Cc
    signature: "ipmi::Cc eventdata1(const SetSensorReadingReq& cmdData,\n                           const
      Info& sensorInfo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::set::eventdata
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:616,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' cmdData'
    - ' sensorInfo'
    argTypes:
    - SetSensorReadingReq
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 613
    functionDepth: 1
    functionLinenumber: 613
    functionLinenumberEnd: 617
    functionName: ipmi::sensor::set::eventdata2
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.hpp
    functionUses: 0
    functionsReached:
    - ipmi::sensor::set::eventdata
    linkageType: ''
    returnType: ipmi::Cc
    signature: "ipmi::Cc eventdata2(const SetSensorReadingReq& cmdData,\n                           const
      Info& sensorInfo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::set::eventdata
      Src: /src/phosphor-host-ipmid/sensordatahandler.hpp:627,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' cmdData'
    - ' sensorInfo'
    argTypes:
    - SetSensorReadingReq
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 624
    functionDepth: 1
    functionLinenumber: 624
    functionLinenumberEnd: 628
    functionName: ipmi::sensor::set::eventdata3
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.hpp
    functionUses: 0
    functionsReached:
    - ipmi::sensor::set::eventdata
    linkageType: ''
    returnType: ipmi::Cc
    signature: "ipmi::Cc eventdata3(const SetSensorReadingReq& cmdData,\n                           const
      Info& sensorInfo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::getChannelParams
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:90,1
    - Dst: std::invoke
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:91,1
    - Dst: std::forward<Args>
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - channel
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 92
    functionName: ipmi::transport::channelCall
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.hpp
    functionUses: 0
    functionsReached:
    - std::invoke
    - std::forward<Args>
    - ipmi::transport::getChannelParams
    linkageType: ''
    returnType: auto
    signature: auto channelCall(uint8_t channel, Args&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAllDbusObjects
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' bus'
    - ' params'
    - intf
    argTypes:
    - sdbusplus::bus_t
    - ChannelParams
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 177
    functionName: ipmi::transport::ObjectLookupCache::ObjectLookupCache
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.hpp
    functionUses: 0
    functionsReached:
    - getAllDbusObjects
    linkageType: ''
    returnType: void
    signature: "void ObjectLookupCache(sdbusplus::bus_t& bus, const ChannelParams&
      params,\n                      const char* intf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cache::end
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - it
    - ' container'
    argTypes:
    - ObjectTree::const_iterator
    - ObjectLookupCache
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 187
    functionName: ipmi::transport::ObjectLookupCache::iterator::iterator
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.hpp
    functionUses: 0
    functionsReached:
    - cache::end
    linkageType: ''
    returnType: void
    signature: void iterator(ObjectTree::const_iterator it, ObjectLookupCache& container)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:190,1
    - Dst: ObjectTree::const_iterator::operator*
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 192
    functionName: '& operator*()'
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.hpp
    functionUses: 0
    functionsReached:
    - ObjectTree::const_iterator::operator*
    - get
    linkageType: ''
    returnType: value_type
    signature: value_type & operator*()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 196
    functionName: '* operator->()'
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: value_type
    signature: value_type * operator->()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:205,1
    - Dst: ipmi::transport::ObjectLookupCache::begin
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 206
    functionName: ipmi::transport::ObjectLookupCache::begin
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.hpp
    functionUses: 1
    functionsReached:
    - ipmi::transport::ObjectLookupCache::begin
    - iterator
    linkageType: ''
    returnType: iterator
    signature: iterator begin() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:210,1
    - Dst: ipmi::transport::ObjectLookupCache::end
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 211
    functionName: ipmi::transport::ObjectLookupCache::end
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.hpp
    functionUses: 1
    functionsReached:
    - ipmi::transport::ObjectLookupCache::end
    - iterator
    linkageType: ''
    returnType: iterator
    signature: iterator end() noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:228,1
    - Dst: ipmi::transport::ObjectLookupCache::end
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:229,1
    - Dst: getAllDbusProperties
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:233,1
    - Dst: insert
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:234,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 226
    functionDepth: 2
    functionLinenumber: 226
    functionLinenumberEnd: 235
    functionName: ipmi::transport::ObjectLookupCache::get
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.hpp
    functionUses: 0
    functionsReached:
    - insert
    - getAllDbusProperties
    - ipmi::transport::ObjectLookupCache::end
    - find
    - std::move
    linkageType: ''
    returnType: PropertiesCache::iterator
    signature: PropertiesCache::iterator get(const std::string& path)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stdplus::fromStr<typename AddrFamily<family>::addr>
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:263,1
    - Dst: std::get<std::string>
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:264,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:264,1
    - Dst: "sdbusplus::server::xyz::openbmc_project::network::IP::\n                    convertAddressOriginFromString"
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:267,1
    - Dst: std::get<std::string>
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:269,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:269,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:270,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:270,1
    - Dst: std::get<uint8_t>
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:284,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:284,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 5
    argNames:
    - ' bus'
    - ' params'
    - idx
    - "\n        origins"
    - ' ips'
    argTypes:
    - sdbusplus::bus_t
    - ChannelParams
    - uint8_t
    - "std::unordered_set<\n        sdbusplus::server::xyz::openbmc_project::network::IP::AddressOrigin>"
    - ObjectLookupCache
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 296
    functionName: ipmi::transport::findIfAddr
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.hpp
    functionUses: 0
    functionsReached:
    - stdplus::fromStr<typename AddrFamily<family>::addr>
    - std::get<std::string>
    - std::get<uint8_t>
    - end
    - at
    - find
    - "sdbusplus::server::xyz::openbmc_project::network::IP::\n                    convertAddressOriginFromString"
    linkageType: ''
    returnType: std::optional<IfAddr<family>>
    signature: "std::optional<IfAddr<family>> findIfAddr(\n    [[maybe_unused]] sdbusplus::bus_t&
      bus,\n    [[maybe_unused]] const ChannelParams& params, uint8_t idx,\n    const
      std::unordered_set<\n        sdbusplus::server::xyz::openbmc_project::network::IP::AddressOrigin>&\n
      \       origins,\n    ObjectLookupCache& ips)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::findIfAddr
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' bus'
    - ' params'
    - idx
    - "\n        origins"
    argTypes:
    - sdbusplus::bus_t
    - ChannelParams
    - uint8_t
    - "std::unordered_set<\n        sdbusplus::server::xyz::openbmc_project::network::IP::AddressOrigin>"
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 316
    functionName: ipmi::transport::getIfAddr
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.hpp
    functionUses: 0
    functionsReached:
    - ipmi::transport::findIfAddr
    linkageType: ''
    returnType: auto
    signature: "auto getIfAddr(\n    sdbusplus::bus_t& bus, const ChannelParams& params,
      uint8_t idx,\n    const std::unordered_set<\n        sdbusplus::server::xyz::openbmc_project::network::IP::AddressOrigin>&\n
      \       origins)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::get<std::string>
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:340,1
    - Dst: getDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:341,1
    - Dst: auto::empty
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:343,1
    - Dst: stdplus::fromStr<typename AddrFamily<family>::addr>
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:347,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' bus'
    - ' params'
    argTypes:
    - sdbusplus::bus_t
    - ChannelParams
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 348
    functionName: ipmi::transport::getGatewayProperty
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.hpp
    functionUses: 0
    functionsReached:
    - auto::empty
    - getDbusProperty
    - stdplus::fromStr<typename AddrFamily<family>::addr>
    - std::get<std::string>
    linkageType: ''
    returnType: std::optional<typename AddrFamily<family>::addr>
    signature: "std::optional<typename AddrFamily<family>::addr> getGatewayProperty(\n
      \   sdbusplus::bus_t& bus, const ChannelParams& params)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sdbusplus::common::xyz::openbmc_project::network::convertForMessage
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:357,1
    - Dst: stdplus::fromStr<typename AddrFamily<family>::addr>
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:364,1
    - Dst: std::get<std::string>
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:365,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:365,1
    - Dst: std::get<std::string>
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:371,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:371,1
    - Dst: stdplus::fromStr<stdplus::EtherAddr>
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:379,1
    - Dst: std::get<std::string>
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:380,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:380,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - ip
    - ' neighbors'
    argTypes:
    - typename AddrFamily<family>::addr
    - ObjectLookupCache
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 391
    functionName: ipmi::transport::findStaticNeighbor
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.hpp
    functionUses: 0
    functionsReached:
    - stdplus::fromStr<typename AddrFamily<family>::addr>
    - stdplus::fromStr<stdplus::EtherAddr>
    - at
    - sdbusplus::common::xyz::openbmc_project::network::convertForMessage
    - std::get<std::string>
    linkageType: ''
    returnType: std::optional<IfNeigh<family>>
    signature: "std::optional<IfNeigh<family>> findStaticNeighbor(\n    sdbusplus::bus_t&,
      const ChannelParams&,\n    typename AddrFamily<family>::addr ip, ObjectLookupCache&
      neighbors)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_method_call
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:399,1
    - Dst: service::c_str
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:399,1
    - Dst: logicalPath::c_str
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:399,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:404,1
    - Dst: addrToStr
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:404,1
    - Dst: macToStr
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:404,1
    - Dst: call_noreply
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' bus'
    - ' params'
    - address
    - mac
    argTypes:
    - sdbusplus::bus_t
    - ChannelParams
    - typename AddrFamily<family>::addr
    - stdplus::EtherAddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 406
    functionName: ipmi::transport::createNeighbor
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.hpp
    functionUses: 0
    functionsReached:
    - logicalPath::c_str
    - service::c_str
    - addrToStr
    - macToStr
    - auto::append
    - new_method_call
    - call_noreply
    linkageType: ''
    returnType: void
    signature: "void createNeighbor(sdbusplus::bus_t& bus, const ChannelParams& params,\n
      \                   typename AddrFamily<family>::addr address,\n                    stdplus::EtherAddr
      mac)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::getGatewayProperty
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:429,1
    - Dst: ipmi::transport::findStaticNeighbor
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:434,1
    - Dst: setDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:437,1
    - Dst: stdplus::toStr
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:439,1
    - Dst: ipmi::transport::deleteObjectIfExists
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:444,1
    - Dst: ipmi::transport::createNeighbor
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:445,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ' bus'
    - ' params'
    - address
    argTypes:
    - sdbusplus::bus_t
    - ChannelParams
    - typename AddrFamily<family>::addr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 447
    functionName: ipmi::transport::setGatewayProperty
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.hpp
    functionUses: 0
    functionsReached:
    - stdplus::toStr
    - ipmi::transport::findStaticNeighbor
    - setDbusProperty
    - ipmi::transport::deleteObjectIfExists
    - ipmi::transport::getGatewayProperty
    - ipmi::transport::createNeighbor
    linkageType: ''
    returnType: void
    signature: "void setGatewayProperty(sdbusplus::bus_t& bus, const ChannelParams&
      params,\n                        typename AddrFamily<family>::addr address)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::getChannelParams
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:90,1
    - Dst: std::invoke
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:91,1
    - Dst: std::forward<Args>
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - channel
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 92
    functionName: ipmi::transport::channelCall
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.hpp
    functionUses: 0
    functionsReached:
    - std::invoke
    - std::forward<Args>
    - ipmi::transport::getChannelParams
    linkageType: ''
    returnType: auto
    signature: auto channelCall(uint8_t channel, Args&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAllDbusObjects
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' bus'
    - ' params'
    - intf
    argTypes:
    - sdbusplus::bus_t
    - ChannelParams
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 177
    functionName: ipmi::transport::ObjectLookupCache::ObjectLookupCache
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.hpp
    functionUses: 0
    functionsReached:
    - getAllDbusObjects
    linkageType: ''
    returnType: void
    signature: "void ObjectLookupCache(sdbusplus::bus_t& bus, const ChannelParams&
      params,\n                      const char* intf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cache::end
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - it
    - ' container'
    argTypes:
    - ObjectTree::const_iterator
    - ObjectLookupCache
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 187
    functionName: ipmi::transport::ObjectLookupCache::iterator::iterator
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.hpp
    functionUses: 0
    functionsReached:
    - cache::end
    linkageType: ''
    returnType: void
    signature: void iterator(ObjectTree::const_iterator it, ObjectLookupCache& container)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:190,1
    - Dst: ObjectTree::const_iterator::operator*
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 192
    functionName: '& operator*()'
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.hpp
    functionUses: 0
    functionsReached:
    - ObjectTree::const_iterator::operator*
    - get
    linkageType: ''
    returnType: value_type
    signature: value_type & operator*()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 196
    functionName: '* operator->()'
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: value_type
    signature: value_type * operator->()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:205,1
    - Dst: ipmi::transport::ObjectLookupCache::begin
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 206
    functionName: ipmi::transport::ObjectLookupCache::begin
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.hpp
    functionUses: 2
    functionsReached:
    - ipmi::transport::ObjectLookupCache::begin
    - iterator
    linkageType: ''
    returnType: iterator
    signature: iterator begin() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:210,1
    - Dst: ipmi::transport::ObjectLookupCache::end
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 211
    functionName: ipmi::transport::ObjectLookupCache::end
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.hpp
    functionUses: 3
    functionsReached:
    - ipmi::transport::ObjectLookupCache::end
    - iterator
    linkageType: ''
    returnType: iterator
    signature: iterator end() noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:228,1
    - Dst: ipmi::transport::ObjectLookupCache::end
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:229,1
    - Dst: getAllDbusProperties
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:233,1
    - Dst: insert
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:234,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 226
    functionDepth: 2
    functionLinenumber: 226
    functionLinenumberEnd: 235
    functionName: ipmi::transport::ObjectLookupCache::get
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.hpp
    functionUses: 0
    functionsReached:
    - insert
    - getAllDbusProperties
    - ipmi::transport::ObjectLookupCache::end
    - find
    - std::move
    linkageType: ''
    returnType: PropertiesCache::iterator
    signature: PropertiesCache::iterator get(const std::string& path)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stdplus::fromStr<typename AddrFamily<family>::addr>
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:263,1
    - Dst: std::get<std::string>
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:264,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:264,1
    - Dst: "sdbusplus::server::xyz::openbmc_project::network::IP::\n                    convertAddressOriginFromString"
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:267,1
    - Dst: std::get<std::string>
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:269,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:269,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:270,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:270,1
    - Dst: std::get<uint8_t>
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:284,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:284,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 5
    argNames:
    - ' bus'
    - ' params'
    - idx
    - "\n        origins"
    - ' ips'
    argTypes:
    - sdbusplus::bus_t
    - ChannelParams
    - uint8_t
    - "std::unordered_set<\n        sdbusplus::server::xyz::openbmc_project::network::IP::AddressOrigin>"
    - ObjectLookupCache
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 296
    functionName: ipmi::transport::findIfAddr
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.hpp
    functionUses: 1
    functionsReached:
    - stdplus::fromStr<typename AddrFamily<family>::addr>
    - std::get<std::string>
    - std::get<uint8_t>
    - end
    - at
    - find
    - "sdbusplus::server::xyz::openbmc_project::network::IP::\n                    convertAddressOriginFromString"
    linkageType: ''
    returnType: std::optional<IfAddr<family>>
    signature: "std::optional<IfAddr<family>> findIfAddr(\n    [[maybe_unused]] sdbusplus::bus_t&
      bus,\n    [[maybe_unused]] const ChannelParams& params, uint8_t idx,\n    const
      std::unordered_set<\n        sdbusplus::server::xyz::openbmc_project::network::IP::AddressOrigin>&\n
      \       origins,\n    ObjectLookupCache& ips)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::findIfAddr
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' bus'
    - ' params'
    - idx
    - "\n        origins"
    argTypes:
    - sdbusplus::bus_t
    - ChannelParams
    - uint8_t
    - "std::unordered_set<\n        sdbusplus::server::xyz::openbmc_project::network::IP::AddressOrigin>"
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 316
    functionName: ipmi::transport::getIfAddr
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.hpp
    functionUses: 0
    functionsReached:
    - ipmi::transport::findIfAddr
    linkageType: ''
    returnType: auto
    signature: "auto getIfAddr(\n    sdbusplus::bus_t& bus, const ChannelParams& params,
      uint8_t idx,\n    const std::unordered_set<\n        sdbusplus::server::xyz::openbmc_project::network::IP::AddressOrigin>&\n
      \       origins)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::get<std::string>
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:340,1
    - Dst: getDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:341,1
    - Dst: auto::empty
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:343,1
    - Dst: stdplus::fromStr<typename AddrFamily<family>::addr>
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:347,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' bus'
    - ' params'
    argTypes:
    - sdbusplus::bus_t
    - ChannelParams
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 348
    functionName: ipmi::transport::getGatewayProperty
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.hpp
    functionUses: 1
    functionsReached:
    - auto::empty
    - getDbusProperty
    - stdplus::fromStr<typename AddrFamily<family>::addr>
    - std::get<std::string>
    linkageType: ''
    returnType: std::optional<typename AddrFamily<family>::addr>
    signature: "std::optional<typename AddrFamily<family>::addr> getGatewayProperty(\n
      \   sdbusplus::bus_t& bus, const ChannelParams& params)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sdbusplus::common::xyz::openbmc_project::network::convertForMessage
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:357,1
    - Dst: stdplus::fromStr<typename AddrFamily<family>::addr>
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:364,1
    - Dst: std::get<std::string>
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:365,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:365,1
    - Dst: std::get<std::string>
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:371,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:371,1
    - Dst: stdplus::fromStr<stdplus::EtherAddr>
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:379,1
    - Dst: std::get<std::string>
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:380,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:380,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - ip
    - ' neighbors'
    argTypes:
    - typename AddrFamily<family>::addr
    - ObjectLookupCache
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 391
    functionName: ipmi::transport::findStaticNeighbor
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.hpp
    functionUses: 1
    functionsReached:
    - stdplus::fromStr<typename AddrFamily<family>::addr>
    - stdplus::fromStr<stdplus::EtherAddr>
    - at
    - sdbusplus::common::xyz::openbmc_project::network::convertForMessage
    - std::get<std::string>
    linkageType: ''
    returnType: std::optional<IfNeigh<family>>
    signature: "std::optional<IfNeigh<family>> findStaticNeighbor(\n    sdbusplus::bus_t&,
      const ChannelParams&,\n    typename AddrFamily<family>::addr ip, ObjectLookupCache&
      neighbors)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_method_call
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:399,1
    - Dst: service::c_str
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:399,1
    - Dst: logicalPath::c_str
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:399,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:404,1
    - Dst: addrToStr
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:404,1
    - Dst: macToStr
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:404,1
    - Dst: call_noreply
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' bus'
    - ' params'
    - address
    - mac
    argTypes:
    - sdbusplus::bus_t
    - ChannelParams
    - typename AddrFamily<family>::addr
    - stdplus::EtherAddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 406
    functionName: ipmi::transport::createNeighbor
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.hpp
    functionUses: 1
    functionsReached:
    - logicalPath::c_str
    - service::c_str
    - addrToStr
    - macToStr
    - auto::append
    - new_method_call
    - call_noreply
    linkageType: ''
    returnType: void
    signature: "void createNeighbor(sdbusplus::bus_t& bus, const ChannelParams& params,\n
      \                   typename AddrFamily<family>::addr address,\n                    stdplus::EtherAddr
      mac)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::getGatewayProperty
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:429,1
    - Dst: ipmi::transport::findStaticNeighbor
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:434,1
    - Dst: setDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:437,1
    - Dst: stdplus::toStr
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:439,1
    - Dst: ipmi::transport::deleteObjectIfExists
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:444,1
    - Dst: ipmi::transport::createNeighbor
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:445,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ' bus'
    - ' params'
    - address
    argTypes:
    - sdbusplus::bus_t
    - ChannelParams
    - typename AddrFamily<family>::addr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 447
    functionName: ipmi::transport::setGatewayProperty
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.hpp
    functionUses: 0
    functionsReached:
    - stdplus::toStr
    - ipmi::transport::findStaticNeighbor
    - setDbusProperty
    - ipmi::transport::deleteObjectIfExists
    - ipmi::transport::getGatewayProperty
    - ipmi::transport::createNeighbor
    linkageType: ''
    returnType: void
    signature: "void setGatewayProperty(sdbusplus::bus_t& bus, const ChannelParams&
      params,\n                        typename AddrFamily<family>::addr address)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::getChannelParams
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:90,1
    - Dst: std::invoke
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:91,1
    - Dst: std::forward<Args>
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - channel
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 92
    functionName: ipmi::transport::channelCall
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.hpp
    functionUses: 0
    functionsReached:
    - std::invoke
    - std::forward<Args>
    - ipmi::transport::getChannelParams
    linkageType: ''
    returnType: auto
    signature: auto channelCall(uint8_t channel, Args&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAllDbusObjects
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' bus'
    - ' params'
    - intf
    argTypes:
    - sdbusplus::bus_t
    - ChannelParams
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 177
    functionName: ipmi::transport::ObjectLookupCache::ObjectLookupCache
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.hpp
    functionUses: 0
    functionsReached:
    - getAllDbusObjects
    linkageType: ''
    returnType: void
    signature: "void ObjectLookupCache(sdbusplus::bus_t& bus, const ChannelParams&
      params,\n                      const char* intf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cache::end
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - it
    - ' container'
    argTypes:
    - ObjectTree::const_iterator
    - ObjectLookupCache
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 187
    functionName: ipmi::transport::ObjectLookupCache::iterator::iterator
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.hpp
    functionUses: 0
    functionsReached:
    - cache::end
    linkageType: ''
    returnType: void
    signature: void iterator(ObjectTree::const_iterator it, ObjectLookupCache& container)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:190,1
    - Dst: ObjectTree::const_iterator::operator*
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 192
    functionName: '& operator*()'
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.hpp
    functionUses: 0
    functionsReached:
    - ObjectTree::const_iterator::operator*
    - get
    linkageType: ''
    returnType: value_type
    signature: value_type & operator*()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 196
    functionName: '* operator->()'
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: value_type
    signature: value_type * operator->()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:205,1
    - Dst: ipmi::transport::ObjectLookupCache::begin
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 206
    functionName: ipmi::transport::ObjectLookupCache::begin
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.hpp
    functionUses: 3
    functionsReached:
    - ipmi::transport::ObjectLookupCache::begin
    - iterator
    linkageType: ''
    returnType: iterator
    signature: iterator begin() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:210,1
    - Dst: ipmi::transport::ObjectLookupCache::end
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 211
    functionName: ipmi::transport::ObjectLookupCache::end
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.hpp
    functionUses: 5
    functionsReached:
    - ipmi::transport::ObjectLookupCache::end
    - iterator
    linkageType: ''
    returnType: iterator
    signature: iterator end() noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:228,1
    - Dst: ipmi::transport::ObjectLookupCache::end
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:229,1
    - Dst: getAllDbusProperties
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:233,1
    - Dst: insert
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:234,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 226
    functionDepth: 2
    functionLinenumber: 226
    functionLinenumberEnd: 235
    functionName: ipmi::transport::ObjectLookupCache::get
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.hpp
    functionUses: 0
    functionsReached:
    - insert
    - getAllDbusProperties
    - ipmi::transport::ObjectLookupCache::end
    - find
    - std::move
    linkageType: ''
    returnType: PropertiesCache::iterator
    signature: PropertiesCache::iterator get(const std::string& path)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stdplus::fromStr<typename AddrFamily<family>::addr>
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:263,1
    - Dst: std::get<std::string>
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:264,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:264,1
    - Dst: "sdbusplus::server::xyz::openbmc_project::network::IP::\n                    convertAddressOriginFromString"
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:267,1
    - Dst: std::get<std::string>
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:269,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:269,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:270,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:270,1
    - Dst: std::get<uint8_t>
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:284,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:284,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 5
    argNames:
    - ' bus'
    - ' params'
    - idx
    - "\n        origins"
    - ' ips'
    argTypes:
    - sdbusplus::bus_t
    - ChannelParams
    - uint8_t
    - "std::unordered_set<\n        sdbusplus::server::xyz::openbmc_project::network::IP::AddressOrigin>"
    - ObjectLookupCache
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 296
    functionName: ipmi::transport::findIfAddr
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.hpp
    functionUses: 2
    functionsReached:
    - stdplus::fromStr<typename AddrFamily<family>::addr>
    - std::get<std::string>
    - std::get<uint8_t>
    - end
    - at
    - find
    - "sdbusplus::server::xyz::openbmc_project::network::IP::\n                    convertAddressOriginFromString"
    linkageType: ''
    returnType: std::optional<IfAddr<family>>
    signature: "std::optional<IfAddr<family>> findIfAddr(\n    [[maybe_unused]] sdbusplus::bus_t&
      bus,\n    [[maybe_unused]] const ChannelParams& params, uint8_t idx,\n    const
      std::unordered_set<\n        sdbusplus::server::xyz::openbmc_project::network::IP::AddressOrigin>&\n
      \       origins,\n    ObjectLookupCache& ips)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::findIfAddr
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' bus'
    - ' params'
    - idx
    - "\n        origins"
    argTypes:
    - sdbusplus::bus_t
    - ChannelParams
    - uint8_t
    - "std::unordered_set<\n        sdbusplus::server::xyz::openbmc_project::network::IP::AddressOrigin>"
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 316
    functionName: ipmi::transport::getIfAddr
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.hpp
    functionUses: 0
    functionsReached:
    - ipmi::transport::findIfAddr
    linkageType: ''
    returnType: auto
    signature: "auto getIfAddr(\n    sdbusplus::bus_t& bus, const ChannelParams& params,
      uint8_t idx,\n    const std::unordered_set<\n        sdbusplus::server::xyz::openbmc_project::network::IP::AddressOrigin>&\n
      \       origins)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::get<std::string>
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:340,1
    - Dst: getDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:341,1
    - Dst: auto::empty
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:343,1
    - Dst: stdplus::fromStr<typename AddrFamily<family>::addr>
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:347,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' bus'
    - ' params'
    argTypes:
    - sdbusplus::bus_t
    - ChannelParams
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 348
    functionName: ipmi::transport::getGatewayProperty
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.hpp
    functionUses: 2
    functionsReached:
    - auto::empty
    - getDbusProperty
    - stdplus::fromStr<typename AddrFamily<family>::addr>
    - std::get<std::string>
    linkageType: ''
    returnType: std::optional<typename AddrFamily<family>::addr>
    signature: "std::optional<typename AddrFamily<family>::addr> getGatewayProperty(\n
      \   sdbusplus::bus_t& bus, const ChannelParams& params)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sdbusplus::common::xyz::openbmc_project::network::convertForMessage
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:357,1
    - Dst: stdplus::fromStr<typename AddrFamily<family>::addr>
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:364,1
    - Dst: std::get<std::string>
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:365,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:365,1
    - Dst: std::get<std::string>
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:371,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:371,1
    - Dst: stdplus::fromStr<stdplus::EtherAddr>
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:379,1
    - Dst: std::get<std::string>
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:380,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:380,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - ip
    - ' neighbors'
    argTypes:
    - typename AddrFamily<family>::addr
    - ObjectLookupCache
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 391
    functionName: ipmi::transport::findStaticNeighbor
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.hpp
    functionUses: 2
    functionsReached:
    - stdplus::fromStr<typename AddrFamily<family>::addr>
    - stdplus::fromStr<stdplus::EtherAddr>
    - at
    - sdbusplus::common::xyz::openbmc_project::network::convertForMessage
    - std::get<std::string>
    linkageType: ''
    returnType: std::optional<IfNeigh<family>>
    signature: "std::optional<IfNeigh<family>> findStaticNeighbor(\n    sdbusplus::bus_t&,
      const ChannelParams&,\n    typename AddrFamily<family>::addr ip, ObjectLookupCache&
      neighbors)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_method_call
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:399,1
    - Dst: service::c_str
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:399,1
    - Dst: logicalPath::c_str
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:399,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:404,1
    - Dst: addrToStr
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:404,1
    - Dst: macToStr
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:404,1
    - Dst: call_noreply
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' bus'
    - ' params'
    - address
    - mac
    argTypes:
    - sdbusplus::bus_t
    - ChannelParams
    - typename AddrFamily<family>::addr
    - stdplus::EtherAddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 406
    functionName: ipmi::transport::createNeighbor
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.hpp
    functionUses: 2
    functionsReached:
    - logicalPath::c_str
    - service::c_str
    - addrToStr
    - macToStr
    - auto::append
    - new_method_call
    - call_noreply
    linkageType: ''
    returnType: void
    signature: "void createNeighbor(sdbusplus::bus_t& bus, const ChannelParams& params,\n
      \                   typename AddrFamily<family>::addr address,\n                    stdplus::EtherAddr
      mac)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::getGatewayProperty
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:429,1
    - Dst: ipmi::transport::findStaticNeighbor
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:434,1
    - Dst: setDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:437,1
    - Dst: stdplus::toStr
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:439,1
    - Dst: ipmi::transport::deleteObjectIfExists
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:444,1
    - Dst: ipmi::transport::createNeighbor
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:445,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ' bus'
    - ' params'
    - address
    argTypes:
    - sdbusplus::bus_t
    - ChannelParams
    - typename AddrFamily<family>::addr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 447
    functionName: ipmi::transport::setGatewayProperty
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.hpp
    functionUses: 0
    functionsReached:
    - stdplus::toStr
    - ipmi::transport::findStaticNeighbor
    - setDbusProperty
    - ipmi::transport::deleteObjectIfExists
    - ipmi::transport::getGatewayProperty
    - ipmi::transport::createNeighbor
    linkageType: ''
    returnType: void
    signature: "void setGatewayProperty(sdbusplus::bus_t& bus, const ChannelParams&
      params,\n                        typename AddrFamily<family>::addr address)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::getChannelParams
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:90,1
    - Dst: std::invoke
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:91,1
    - Dst: std::forward<Args>
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - channel
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 92
    functionName: ipmi::transport::channelCall
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.hpp
    functionUses: 0
    functionsReached:
    - std::invoke
    - std::forward<Args>
    - ipmi::transport::getChannelParams
    linkageType: ''
    returnType: auto
    signature: auto channelCall(uint8_t channel, Args&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAllDbusObjects
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' bus'
    - ' params'
    - intf
    argTypes:
    - sdbusplus::bus_t
    - ChannelParams
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 177
    functionName: ipmi::transport::ObjectLookupCache::ObjectLookupCache
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.hpp
    functionUses: 0
    functionsReached:
    - getAllDbusObjects
    linkageType: ''
    returnType: void
    signature: "void ObjectLookupCache(sdbusplus::bus_t& bus, const ChannelParams&
      params,\n                      const char* intf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cache::end
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - it
    - ' container'
    argTypes:
    - ObjectTree::const_iterator
    - ObjectLookupCache
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 187
    functionName: ipmi::transport::ObjectLookupCache::iterator::iterator
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.hpp
    functionUses: 0
    functionsReached:
    - cache::end
    linkageType: ''
    returnType: void
    signature: void iterator(ObjectTree::const_iterator it, ObjectLookupCache& container)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:190,1
    - Dst: ObjectTree::const_iterator::operator*
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 192
    functionName: '& operator*()'
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.hpp
    functionUses: 0
    functionsReached:
    - ObjectTree::const_iterator::operator*
    - get
    linkageType: ''
    returnType: value_type
    signature: value_type & operator*()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 196
    functionName: '* operator->()'
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: value_type
    signature: value_type * operator->()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:205,1
    - Dst: ipmi::transport::ObjectLookupCache::begin
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 206
    functionName: ipmi::transport::ObjectLookupCache::begin
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.hpp
    functionUses: 4
    functionsReached:
    - ipmi::transport::ObjectLookupCache::begin
    - iterator
    linkageType: ''
    returnType: iterator
    signature: iterator begin() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:210,1
    - Dst: ipmi::transport::ObjectLookupCache::end
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 211
    functionName: ipmi::transport::ObjectLookupCache::end
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.hpp
    functionUses: 7
    functionsReached:
    - ipmi::transport::ObjectLookupCache::end
    - iterator
    linkageType: ''
    returnType: iterator
    signature: iterator end() noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:228,1
    - Dst: ipmi::transport::ObjectLookupCache::end
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:229,1
    - Dst: getAllDbusProperties
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:233,1
    - Dst: insert
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:234,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 226
    functionDepth: 2
    functionLinenumber: 226
    functionLinenumberEnd: 235
    functionName: ipmi::transport::ObjectLookupCache::get
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.hpp
    functionUses: 0
    functionsReached:
    - insert
    - getAllDbusProperties
    - ipmi::transport::ObjectLookupCache::end
    - find
    - std::move
    linkageType: ''
    returnType: PropertiesCache::iterator
    signature: PropertiesCache::iterator get(const std::string& path)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stdplus::fromStr<typename AddrFamily<family>::addr>
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:263,1
    - Dst: std::get<std::string>
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:264,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:264,1
    - Dst: "sdbusplus::server::xyz::openbmc_project::network::IP::\n                    convertAddressOriginFromString"
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:267,1
    - Dst: std::get<std::string>
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:269,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:269,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:270,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:270,1
    - Dst: std::get<uint8_t>
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:284,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:284,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 5
    argNames:
    - ' bus'
    - ' params'
    - idx
    - "\n        origins"
    - ' ips'
    argTypes:
    - sdbusplus::bus_t
    - ChannelParams
    - uint8_t
    - "std::unordered_set<\n        sdbusplus::server::xyz::openbmc_project::network::IP::AddressOrigin>"
    - ObjectLookupCache
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 296
    functionName: ipmi::transport::findIfAddr
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.hpp
    functionUses: 3
    functionsReached:
    - stdplus::fromStr<typename AddrFamily<family>::addr>
    - std::get<std::string>
    - std::get<uint8_t>
    - end
    - at
    - find
    - "sdbusplus::server::xyz::openbmc_project::network::IP::\n                    convertAddressOriginFromString"
    linkageType: ''
    returnType: std::optional<IfAddr<family>>
    signature: "std::optional<IfAddr<family>> findIfAddr(\n    [[maybe_unused]] sdbusplus::bus_t&
      bus,\n    [[maybe_unused]] const ChannelParams& params, uint8_t idx,\n    const
      std::unordered_set<\n        sdbusplus::server::xyz::openbmc_project::network::IP::AddressOrigin>&\n
      \       origins,\n    ObjectLookupCache& ips)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::findIfAddr
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' bus'
    - ' params'
    - idx
    - "\n        origins"
    argTypes:
    - sdbusplus::bus_t
    - ChannelParams
    - uint8_t
    - "std::unordered_set<\n        sdbusplus::server::xyz::openbmc_project::network::IP::AddressOrigin>"
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 316
    functionName: ipmi::transport::getIfAddr
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.hpp
    functionUses: 0
    functionsReached:
    - ipmi::transport::findIfAddr
    linkageType: ''
    returnType: auto
    signature: "auto getIfAddr(\n    sdbusplus::bus_t& bus, const ChannelParams& params,
      uint8_t idx,\n    const std::unordered_set<\n        sdbusplus::server::xyz::openbmc_project::network::IP::AddressOrigin>&\n
      \       origins)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::get<std::string>
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:340,1
    - Dst: getDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:341,1
    - Dst: auto::empty
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:343,1
    - Dst: stdplus::fromStr<typename AddrFamily<family>::addr>
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:347,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' bus'
    - ' params'
    argTypes:
    - sdbusplus::bus_t
    - ChannelParams
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 348
    functionName: ipmi::transport::getGatewayProperty
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.hpp
    functionUses: 3
    functionsReached:
    - auto::empty
    - getDbusProperty
    - stdplus::fromStr<typename AddrFamily<family>::addr>
    - std::get<std::string>
    linkageType: ''
    returnType: std::optional<typename AddrFamily<family>::addr>
    signature: "std::optional<typename AddrFamily<family>::addr> getGatewayProperty(\n
      \   sdbusplus::bus_t& bus, const ChannelParams& params)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sdbusplus::common::xyz::openbmc_project::network::convertForMessage
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:357,1
    - Dst: stdplus::fromStr<typename AddrFamily<family>::addr>
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:364,1
    - Dst: std::get<std::string>
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:365,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:365,1
    - Dst: std::get<std::string>
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:371,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:371,1
    - Dst: stdplus::fromStr<stdplus::EtherAddr>
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:379,1
    - Dst: std::get<std::string>
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:380,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:380,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - ip
    - ' neighbors'
    argTypes:
    - typename AddrFamily<family>::addr
    - ObjectLookupCache
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 391
    functionName: ipmi::transport::findStaticNeighbor
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.hpp
    functionUses: 3
    functionsReached:
    - stdplus::fromStr<typename AddrFamily<family>::addr>
    - stdplus::fromStr<stdplus::EtherAddr>
    - at
    - sdbusplus::common::xyz::openbmc_project::network::convertForMessage
    - std::get<std::string>
    linkageType: ''
    returnType: std::optional<IfNeigh<family>>
    signature: "std::optional<IfNeigh<family>> findStaticNeighbor(\n    sdbusplus::bus_t&,
      const ChannelParams&,\n    typename AddrFamily<family>::addr ip, ObjectLookupCache&
      neighbors)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_method_call
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:399,1
    - Dst: service::c_str
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:399,1
    - Dst: logicalPath::c_str
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:399,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:404,1
    - Dst: addrToStr
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:404,1
    - Dst: macToStr
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:404,1
    - Dst: call_noreply
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' bus'
    - ' params'
    - address
    - mac
    argTypes:
    - sdbusplus::bus_t
    - ChannelParams
    - typename AddrFamily<family>::addr
    - stdplus::EtherAddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 406
    functionName: ipmi::transport::createNeighbor
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.hpp
    functionUses: 3
    functionsReached:
    - logicalPath::c_str
    - service::c_str
    - addrToStr
    - macToStr
    - auto::append
    - new_method_call
    - call_noreply
    linkageType: ''
    returnType: void
    signature: "void createNeighbor(sdbusplus::bus_t& bus, const ChannelParams& params,\n
      \                   typename AddrFamily<family>::addr address,\n                    stdplus::EtherAddr
      mac)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::getGatewayProperty
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:429,1
    - Dst: ipmi::transport::findStaticNeighbor
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:434,1
    - Dst: setDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:437,1
    - Dst: stdplus::toStr
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:439,1
    - Dst: ipmi::transport::deleteObjectIfExists
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:444,1
    - Dst: ipmi::transport::createNeighbor
      Src: /src/phosphor-host-ipmid/transporthandler.hpp:445,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ' bus'
    - ' params'
    - address
    argTypes:
    - sdbusplus::bus_t
    - ChannelParams
    - typename AddrFamily<family>::addr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 447
    functionName: ipmi::transport::setGatewayProperty
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.hpp
    functionUses: 0
    functionsReached:
    - stdplus::toStr
    - ipmi::transport::findStaticNeighbor
    - setDbusProperty
    - ipmi::transport::deleteObjectIfExists
    - ipmi::transport::getGatewayProperty
    - ipmi::transport::createNeighbor
    linkageType: ''
    returnType: void
    signature: "void setGatewayProperty(sdbusplus::bus_t& bus, const ChannelParams&
      params,\n                        typename AddrFamily<family>::addr address)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' bus'
    - objPath
    argTypes:
    - sdbusplus::bus_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 37
    functionName: phosphor::host::command::Host::Host
    functionSourceFile: /src/phosphor-host-ipmid/host-interface.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Host(sdbusplus::bus_t& bus, const char* objPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' bus'
    - objPath
    argTypes:
    - sdbusplus::bus_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 37
    functionName: phosphor::host::command::Host::Host
    functionSourceFile: /src/phosphor-host-ipmid/host-interface.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Host(sdbusplus::bus_t& bus, const char* objPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' bus'
    - objPath
    argTypes:
    - sdbusplus::bus_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 37
    functionName: phosphor::host::command::Host::Host
    functionSourceFile: /src/phosphor-host-ipmid/host-interface.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Host(sdbusplus::bus_t& bus, const char* objPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' bus'
    - objPath
    argTypes:
    - sdbusplus::bus_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 37
    functionName: phosphor::host::command::Host::Host
    functionSourceFile: /src/phosphor-host-ipmid/host-interface.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Host(sdbusplus::bus_t& bus, const char* objPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' bus'
    - objPath
    argTypes:
    - sdbusplus::bus_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 37
    functionName: phosphor::host::command::Host::Host
    functionSourceFile: /src/phosphor-host-ipmid/host-interface.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Host(sdbusplus::bus_t& bus, const char* objPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' bus'
    - objPath
    argTypes:
    - sdbusplus::bus_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 37
    functionName: phosphor::host::command::Host::Host
    functionSourceFile: /src/phosphor-host-ipmid/host-interface.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Host(sdbusplus::bus_t& bus, const char* objPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' bus'
    - objPath
    argTypes:
    - sdbusplus::bus_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 37
    functionName: phosphor::host::command::Host::Host
    functionSourceFile: /src/phosphor-host-ipmid/host-interface.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Host(sdbusplus::bus_t& bus, const char* objPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' bus'
    - objPath
    argTypes:
    - sdbusplus::bus_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 37
    functionName: phosphor::host::command::Host::Host
    functionSourceFile: /src/phosphor-host-ipmid/host-interface.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Host(sdbusplus::bus_t& bus, const char* objPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 24
    functionName: ISBITSET
    functionSourceFile: /src/phosphor-host-ipmid/ipmisensor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISBITSET(x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_sensor_dbus_state_s
      Src: /src/phosphor-host-ipmid/ipmisensor.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pRec
    - pTable
    - value
    argTypes:
    - sensorRES_t*
    - lookup_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: set_sensor_dbus_state_simple
    functionSourceFile: /src/phosphor-host-ipmid/ipmisensor.cpp
    functionUses: 0
    functionsReached:
    - set_sensor_dbus_state_s
    linkageType: ''
    returnType: int
    signature: "int set_sensor_dbus_state_simple(const sensorRES_t* pRec,\n                                 const
      lookup_t* pTable, const char* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - p
    - b
    argTypes:
    - event_data_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 112
    functionName: event_data_lookup
    functionSourceFile: /src/phosphor-host-ipmid/ipmisensor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * event_data_lookup(event_data_t* p, uint8_t b)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::snprintf
      Src: /src/phosphor-host-ipmid/ipmisensor.cpp:125,1
    - Dst: event_data_lookup
      Src: /src/phosphor-host-ipmid/ipmisensor.cpp:127,1
    - Dst: std::snprintf
      Src: /src/phosphor-host-ipmid/ipmisensor.cpp:131,1
    - Dst: event_data_lookup
      Src: /src/phosphor-host-ipmid/ipmisensor.cpp:133,1
    - Dst: std::snprintf
      Src: /src/phosphor-host-ipmid/ipmisensor.cpp:136,1
    - Dst: event_data_lookup
      Src: /src/phosphor-host-ipmid/ipmisensor.cpp:138,1
    - Dst: std::snprintf
      Src: /src/phosphor-host-ipmid/ipmisensor.cpp:141,1
    - Dst: set_sensor_dbus_state_s
      Src: /src/phosphor-host-ipmid/ipmisensor.cpp:148,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - pRec
    - pTable
    argTypes:
    - sensorRES_t*
    - lookup_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 149
    functionName: set_sensor_dbus_state_fwprogress
    functionSourceFile: /src/phosphor-host-ipmid/ipmisensor.cpp
    functionUses: 0
    functionsReached:
    - std::snprintf
    - event_data_lookup
    - set_sensor_dbus_state_s
    linkageType: ''
    returnType: int
    signature: "int set_sensor_dbus_state_fwprogress(const sensorRES_t* pRec,\n                                     const
      lookup_t* pTable, const char*)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_sensor_dbus_state_y
      Src: /src/phosphor-host-ipmid/ipmisensor.cpp:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pRec
    argTypes:
    - sensorRES_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 159
    functionName: set_sensor_dbus_state_osbootcount
    functionSourceFile: /src/phosphor-host-ipmid/ipmisensor.cpp
    functionUses: 0
    functionsReached:
    - set_sensor_dbus_state_y
    linkageType: ''
    returnType: int
    signature: "int set_sensor_dbus_state_osbootcount(const sensorRES_t* pRec, const
      lookup_t*,\n                                      const char*)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::snprintf
      Src: /src/phosphor-host-ipmid/ipmisensor.cpp:170,1
    - Dst: std::snprintf
      Src: /src/phosphor-host-ipmid/ipmisensor.cpp:173,1
    - Dst: std::snprintf
      Src: /src/phosphor-host-ipmid/ipmisensor.cpp:176,1
    - Dst: std::snprintf
      Src: /src/phosphor-host-ipmid/ipmisensor.cpp:180,1
    - Dst: std::snprintf
      Src: /src/phosphor-host-ipmid/ipmisensor.cpp:186,1
    - Dst: std::snprintf
      Src: /src/phosphor-host-ipmid/ipmisensor.cpp:192,1
    - Dst: set_sensor_dbus_state_s
      Src: /src/phosphor-host-ipmid/ipmisensor.cpp:199,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - pRec
    - pTable
    argTypes:
    - sensorRES_t*
    - lookup_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 200
    functionName: set_sensor_dbus_state_system_event
    functionSourceFile: /src/phosphor-host-ipmid/ipmisensor.cpp
    functionUses: 0
    functionsReached:
    - std::snprintf
    - set_sensor_dbus_state_s
    linkageType: ''
    returnType: int
    signature: "int set_sensor_dbus_state_system_event(const sensorRES_t* pRec,\n
      \                                      const lookup_t* pTable, const char*)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pRec
    - index
    argTypes:
    - sensorRES_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 253
    functionName: reportSensorEventAssert
    functionSourceFile: /src/phosphor-host-ipmid/ipmisensor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reportSensorEventAssert(const sensorRES_t* pRec, int index)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pRec
    - index
    argTypes:
    - sensorRES_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 258
    functionName: reportSensorEventDeassert
    functionSourceFile: /src/phosphor-host-ipmid/ipmisensor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reportSensorEventDeassert(const sensorRES_t* pRec, int index)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - sensor_type
    - offset
    - index
    argTypes:
    - uint8_t
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 278
    functionName: findindex
    functionSourceFile: /src/phosphor-host-ipmid/ipmisensor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int findindex(const uint8_t sensor_type, int offset, int* index)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: findindex
      Src: /src/phosphor-host-ipmid/ipmisensor.cpp:284,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/ipmisensor.cpp:291,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - sensorType
    - offset
    - index
    argTypes:
    - uint8_t
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 299
    functionName: shouldReport
    functionSourceFile: /src/phosphor-host-ipmid/ipmisensor.cpp
    functionUses: 0
    functionsReached:
    - findindex
    - lg2::debug
    linkageType: ''
    returnType: bool
    signature: bool shouldReport(uint8_t sensorType, int offset, int* index)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const sensorRES_t*>
      Src: /src/phosphor-host-ipmid/ipmisensor.cpp:303,1
    - Dst: find_type_for_sensor_number
      Src: /src/phosphor-host-ipmid/ipmisensor.cpp:307,1
    - Dst: shouldReport
      Src: /src/phosphor-host-ipmid/ipmisensor.cpp:314,1
    - Dst: reportSensorEventAssert
      Src: /src/phosphor-host-ipmid/ipmisensor.cpp:315,1
    - Dst: ISBITSET
      Src: /src/phosphor-host-ipmid/ipmisensor.cpp:323,1
    - Dst: shouldReport
      Src: /src/phosphor-host-ipmid/ipmisensor.cpp:324,1
    - Dst: reportSensorEventAssert
      Src: /src/phosphor-host-ipmid/ipmisensor.cpp:326,1
    - Dst: ISBITSET
      Src: /src/phosphor-host-ipmid/ipmisensor.cpp:328,1
    - Dst: shouldReport
      Src: /src/phosphor-host-ipmid/ipmisensor.cpp:329,1
    - Dst: reportSensorEventAssert
      Src: /src/phosphor-host-ipmid/ipmisensor.cpp:331,1
    - Dst: ISBITSET
      Src: /src/phosphor-host-ipmid/ipmisensor.cpp:333,1
    - Dst: shouldReport
      Src: /src/phosphor-host-ipmid/ipmisensor.cpp:334,1
    - Dst: reportSensorEventDeassert
      Src: /src/phosphor-host-ipmid/ipmisensor.cpp:336,1
    - Dst: ISBITSET
      Src: /src/phosphor-host-ipmid/ipmisensor.cpp:338,1
    - Dst: shouldReport
      Src: /src/phosphor-host-ipmid/ipmisensor.cpp:339,1
    - Dst: reportSensorEventDeassert
      Src: /src/phosphor-host-ipmid/ipmisensor.cpp:341,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 1
    argNames:
    - record
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 301
    functionDepth: 2
    functionLinenumber: 301
    functionLinenumberEnd: 347
    functionName: updateSensorRecordFromSSRAESC
    functionSourceFile: /src/phosphor-host-ipmid/ipmisensor.cpp
    functionUses: 0
    functionsReached:
    - shouldReport
    - reportSensorEventAssert
    - find_type_for_sensor_number
    - reportSensorEventDeassert
    - ISBITSET
    - static_cast<const sensorRES_t*>
    linkageType: ''
    returnType: int
    signature: int updateSensorRecordFromSSRAESC(const void* record)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 15
    functionName: ~SysInfoParamStoreIntf()
    functionSourceFile: /src/phosphor-host-ipmid/sys_info_param.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SysInfoParamStoreIntf()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/phosphor-host-ipmid/sys_info_param.cpp:6,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/sys_info_param.cpp:7,1
    - Dst: std::make_tuple
      Src: /src/phosphor-host-ipmid/sys_info_param.cpp:9,1
    - Dst: auto::second
      Src: /src/phosphor-host-ipmid/sys_info_param.cpp:12,1
    - Dst: std::make_tuple
      Src: /src/phosphor-host-ipmid/sys_info_param.cpp:13,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - paramSelector
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 3
    functionDepth: 0
    functionLinenumber: 3
    functionLinenumberEnd: 14
    functionName: SysInfoParamStore::lookup
    functionSourceFile: /src/phosphor-host-ipmid/sys_info_param.cpp
    functionUses: 0
    functionsReached:
    - auto::second
    - std::make_tuple
    - end
    - find
    linkageType: ''
    returnType: std::tuple<bool, std::string>
    signature: "std::tuple<bool, std::string> SysInfoParamStore::lookup(\n    uint8_t
      paramSelector) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SysInfoParamStore::update
      Src: /src/phosphor-host-ipmid/sys_info_param.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - paramSelector
    - ' s'
    argTypes:
    - uint8_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 26
    functionName: SysInfoParamStore::update
    functionSourceFile: /src/phosphor-host-ipmid/sys_info_param.cpp
    functionUses: 1
    functionsReached:
    - SysInfoParamStore::update
    linkageType: ''
    returnType: void
    signature: void SysInfoParamStore::update(uint8_t paramSelector, const std::string&
      s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - paramSelector
    - ' callback'
    argTypes:
    - uint8_t
    - std::function<std::string()>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: SysInfoParamStore::update
    functionSourceFile: /src/phosphor-host-ipmid/sys_info_param.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SysInfoParamStore::update(uint8_t paramSelector,\n                               const
      std::function<std::string()>& callback)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: init_priority
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:75,1
    - Dst: std::stoul
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:81,1
    - Dst: fs::path::filename
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 82
    functionName: getLoggingId
    functionSourceFile: /src/phosphor-host-ipmid/storagehandler.cpp
    functionUses: 0
    functionsReached:
    - init_priority
    - fs::path::filename
    - std::stoul
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t getLoggingId(const std::string& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:86,1
    - Dst: std::to_string
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: getLoggingObjPath
    functionSourceFile: /src/phosphor-host-ipmid/storagehandler.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string getLoggingObjPath(uint16_t id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getLoggingId
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:94,1
    - Dst: ipmi::sel::convertLogEntrytoSEL
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:96,1
    - Dst: std::pair<uint16_t, SELEntry>
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:97,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:97,1
    - Dst: fprintf
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:101,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:101,1
    - Dst: what
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 105
    functionName: parseLoggingEntry
    functionSourceFile: /src/phosphor-host-ipmid/storagehandler.cpp
    functionUses: 0
    functionsReached:
    - std::pair<uint16_t, SELEntry>
    - fprintf
    - what
    - c_str
    - std::move
    - getLoggingId
    - ipmi::sel::convertLogEntrytoSEL
    linkageType: ''
    returnType: std::optional<std::pair<uint16_t, SELEntry>>
    signature: "std::optional<std::pair<uint16_t, SELEntry>> parseLoggingEntry(\n
      \   const std::string& p)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:112,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:116,1
    - Dst: parseLoggingEntry
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:120,1
    - Dst: insert
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:123,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' m'
    argTypes:
    - sdbusplus::message_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 125
    functionName: selAddedCallback
    functionSourceFile: /src/phosphor-host-ipmid/storagehandler.cpp
    functionUses: 0
    functionsReached:
    - insert
    - read
    - std::move
    - lg2::error
    - parseLoggingEntry
    linkageType: ''
    returnType: void
    signature: void selAddedCallback(sdbusplus::message_t& m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:132,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:136,1
    - Dst: erase
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:141,1
    - Dst: getLoggingId
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:141,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:145,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' m'
    argTypes:
    - sdbusplus::message_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 147
    functionName: selRemovedCallback
    functionSourceFile: /src/phosphor-host-ipmid/storagehandler.cpp
    functionUses: 0
    functionsReached:
    - getLoggingId
    - lg2::error
    - erase
    - read
    linkageType: ''
    returnType: void
    signature: void selRemovedCallback(sdbusplus::message_t& m)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_path
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:151,1
    - Dst: parseLoggingEntry
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:152,1
    - Dst: insert_or_assign
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:155,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' m'
    argTypes:
    - sdbusplus::message_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 149
    functionDepth: 2
    functionLinenumber: 149
    functionLinenumberEnd: 157
    functionName: selUpdatedCallback
    functionSourceFile: /src/phosphor-host-ipmid/storagehandler.cpp
    functionUses: 0
    functionsReached:
    - insert_or_assign
    - std::move
    - get_path
    - parseLoggingEntry
    linkageType: ''
    returnType: void
    signature: void selUpdatedCallback(sdbusplus::message_t& m)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ipmid_get_sd_bus_connection
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:162,1
    - Dst: std::make_unique<sdbusplus::bus::match_t>
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:165,1
    - Dst: interfacesAdded
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:166,1
    - Dst: std::bind
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:167,1
    - Dst: std::make_unique<sdbusplus::bus::match_t>
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:171,1
    - Dst: interfacesRemoved
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:172,1
    - Dst: std::bind
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:173,1
    - Dst: std::make_unique<sdbusplus::bus::match_t>
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:177,1
    - Dst: type::signal
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:179,1
    - Dst: member
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:179,1
    - Dst: interface
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:180,1
    - Dst: argN
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:181,1
    - Dst: std::bind
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:182,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 184
    functionName: registerSelCallbackHandler
    functionSourceFile: /src/phosphor-host-ipmid/storagehandler.cpp
    functionUses: 0
    functionsReached:
    - interfacesAdded
    - type::signal
    - ipmid_get_sd_bus_connection
    - argN
    - std::bind
    - member
    - interfacesRemoved
    - std::make_unique<sdbusplus::bus::match_t>
    - interface
    linkageType: ''
    returnType: void
    signature: void registerSelCallbackHandler()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: registerSelCallbackHandler
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:188,1
    - Dst: ipmi::sel::readLoggingObjectPaths
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:192,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:196,1
    - Dst: parseLoggingEntry
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:201,1
    - Dst: insert
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:204,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:204,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 208
    functionName: initSELCache
    functionSourceFile: /src/phosphor-host-ipmid/storagehandler.cpp
    functionUses: 0
    functionsReached:
    - insert
    - registerSelCallbackHandler
    - std::move
    - ipmi::sel::readLoggingObjectPaths
    - lg2::error
    - parseLoggingEntry
    linkageType: ''
    returnType: void
    signature: void initSELCache()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: initSELCache
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:251,1
    - Dst: empty
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:253,1
    - Dst: static_cast<uint16_t>
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:255,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:255,1
    - Dst: getLoggingObjPath
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:259,1
    - Dst: rbegin
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:259,1
    - Dst: static_cast<uint32_t>
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:260,1
    - Dst: ipmi::sel::getEntryTimeStamp
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:261,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:267,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:276,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 229
    functionDepth: 3
    functionLinenumber: 229
    functionLinenumberEnd: 283
    functionName: ipmiStorageGetSelInfo
    functionSourceFile: /src/phosphor-host-ipmid/storagehandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::responseSuccess
    - ipmi::sel::getEntryTimeStamp
    - size
    - lg2::error
    - static_cast<uint32_t>
    - rbegin
    - empty
    - static_cast<uint16_t>
    - initSELCache
    - getLoggingObjPath
    linkageType: ''
    returnType: "ipmi::RspType<uint8_t,  // SEL revision.\n              uint16_t,
      // number of log entries in SEL.\n              uint16_t, // free Space in bytes.\n
      \             uint32_t, // most recent addition timestamp\n              uint32_t,
      // most recent erase timestamp.\n\n              bool,     // SEL allocation
      info supported\n              bool,     // reserve SEL supported\n              bool,
      \    // partial Add SEL Entry supported\n              bool,     // delete SEL
      supported\n              uint3_t,  // reserved\n              bool      // overflow
      flag\n              >"
    signature: "ipmi::RspType<uint8_t,  // SEL revision.\n              uint16_t,
      // number of log entries in SEL.\n              uint16_t, // free Space in bytes.\n
      \             uint32_t, // most recent addition timestamp\n              uint32_t,
      // most recent erase timestamp.\n\n              bool,     // SEL allocation
      info supported\n              bool,     // reserve SEL supported\n              bool,
      \    // partial Add SEL Entry supported\n              bool,     // delete SEL
      supported\n              uint3_t,  // reserved\n              bool      // overflow
      flag\n              > ipmiStorageGetSelInfo()"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: checkSELReservation
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:293,1
    - Dst: ipmi::responseInvalidReservationId
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:295,1
    - Dst: initSELCache
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:302,1
    - Dst: empty
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:305,1
    - Dst: ipmi::responseSensorInvalid
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:307,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:315,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:319,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:321,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:327,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:332,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:333,1
    - Dst: ipmi::responseSensorInvalid
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:335,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:342,1
    - Dst: std::vector::resize
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:355,1
    - Dst: std::memcpy
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:356,1
    - Dst: std::vector::data
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:356,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:363,1
    - Dst: std::min
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:367,1
    - Dst: static_cast<int>
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:367,1
    - Dst: std::vector::resize
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:369,1
    - Dst: std::memcpy
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:371,1
    - Dst: std::vector::data
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:371,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:372,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:376,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 45
    argCount: 4
    argNames:
    - reservationID
    - selRecordID
    - offset
    - readLength
    argTypes:
    - uint16_t
    - uint16_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 285
    functionDepth: 3
    functionLinenumber: 285
    functionLinenumberEnd: 377
    functionName: getSELEntry
    functionSourceFile: /src/phosphor-host-ipmid/storagehandler.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - find
    - reinterpret_cast<const uint8_t*>
    - checkSELReservation
    - ipmi::responseSuccess
    - std::min
    - size
    - ipmi::responseInvalidFieldRequest
    - ipmi::responseSensorInvalid
    - ipmi::responseInvalidReservationId
    - empty
    - begin
    - end
    - std::vector::resize
    - initSELCache
    - std::vector::data
    - std::memcpy
    linkageType: ''
    returnType: "ipmi::RspType<uint16_t,            // Next Record ID\n              std::vector<uint8_t>
      // SEL data\n              >"
    signature: "ipmi::RspType<uint16_t,            // Next Record ID\n              std::vector<uint8_t>
      // SEL data\n              > getSELEntry(uint16_t reservationID, uint16_t selRecordID,
      uint8_t offset,\n                uint8_t readLength)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: checkSELReservation
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:393,1
    - Dst: ipmi::responseInvalidReservationId
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:395,1
    - Dst: cancelSELReservation
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:400,1
    - Dst: initSELCache
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:405,1
    - Dst: empty
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:408,1
    - Dst: ipmi::responseSensorInvalid
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:410,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:418,1
    - Dst: rbegin
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:422,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:429,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:430,1
    - Dst: ipmi::responseSensorInvalid
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:432,1
    - Dst: ipmid_get_sd_bus_connection
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:435,1
    - Dst: getLoggingObjPath
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:438,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:441,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:445,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:446,1
    - Dst: sdbusplus::bus_t::new_method_call
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:449,1
    - Dst: std::string::c_str
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:449,1
    - Dst: auto::c_str
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:449,1
    - Dst: sdbusplus::bus_t::call
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:453,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:457,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:460,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 2
    argNames:
    - reservationID
    - selRecordID
    argTypes:
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 387
    functionDepth: 3
    functionLinenumber: 387
    functionLinenumberEnd: 461
    functionName: deleteSELEntry
    functionSourceFile: /src/phosphor-host-ipmid/storagehandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::responseSuccess
    - ipmi::responseUnspecifiedError
    - auto::c_str
    - ipmid_get_sd_bus_connection
    - ipmi::responseInvalidReservationId
    - begin
    - find
    - rbegin
    - sdbusplus::bus_t::call
    - end
    - getLoggingObjPath
    - cancelSELReservation
    - ipmi::getService
    - empty
    - sdbusplus::bus_t::new_method_call
    - lg2::error
    - checkSELReservation
    - std::string::c_str
    - ipmi::responseSensorInvalid
    - initSELCache
    linkageType: ''
    returnType: "ipmi::RspType<uint16_t // deleted record ID\n              >"
    signature: "ipmi::RspType<uint16_t // deleted record ID\n              > deleteSELEntry(uint16_t
      reservationID, uint16_t selRecordID)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:481,1
    - Dst: checkSELReservation
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:484,1
    - Dst: ipmi::responseInvalidReservationId
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:486,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:495,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:496,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:502,1
    - Dst: cancelSELReservation
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:506,1
    - Dst: ipmid_get_sd_bus_connection
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:508,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:509,1
    - Dst: sdbusplus::bus_t::new_method_call
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:511,1
    - Dst: auto::c_str
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:511,1
    - Dst: sdbusplus::bus_t::call_noreply
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:515,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:519,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:520,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:523,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:524,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - reservationID
    - ' clr'
    - eraseOperation
    argTypes:
    - uint16_t
    - std::array<char, 3>
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 473
    functionDepth: 1
    functionLinenumber: 473
    functionLinenumberEnd: 525
    functionName: clearSEL
    functionSourceFile: /src/phosphor-host-ipmid/storagehandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::responseSuccess
    - auto::c_str
    - checkSELReservation
    - cancelSELReservation
    - ipmid_get_sd_bus_connection
    - ipmi::getService
    - ipmi::responseUnspecifiedError
    - sdbusplus::bus_t::call_noreply
    - static_cast<uint8_t>
    - ipmi::responseInvalidFieldRequest
    - ipmi::responseInvalidReservationId
    - sdbusplus::bus_t::new_method_call
    - lg2::error
    linkageType: ''
    returnType: "ipmi::RspType<uint8_t // erase status\n              >"
    signature: "ipmi::RspType<uint8_t // erase status\n              > clearSEL(uint16_t
      reservationID, const std::array<char, 3>& clr,\n             uint8_t eraseOperation)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmid_get_sd_bus_connection
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:540,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:541,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:542,1
    - Dst: std::get<uint64_t>
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:544,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:548,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:549,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:553,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:554,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:557,1
    - Dst: duration_cast<seconds>
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:558,1
    - Dst: microseconds
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:558,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:563,1
    - Dst: duration_cast<seconds>
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:564,1
    - Dst: microseconds
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:564,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 531
    functionDepth: 1
    functionLinenumber: 531
    functionLinenumberEnd: 565
    functionName: ipmiStorageGetSelTime
    functionSourceFile: /src/phosphor-host-ipmid/storagehandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::responseSuccess
    - ipmi::responseUnspecifiedError
    - ipmi::getService
    - ipmid_get_sd_bus_connection
    - microseconds
    - std::get<uint64_t>
    - duration_cast<seconds>
    - lg2::debug
    - ipmi::getDbusProperty
    - lg2::error
    linkageType: ''
    returnType: ipmi::RspType<uint32_t>
    signature: ipmi::RspType<uint32_t> ipmiStorageGetSelTime()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: seconds
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:575,1
    - Dst: ipmid_get_sd_bus_connection
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:579,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:580,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:581,1
    - Dst: ipmi::responseCommandNotAvailable
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:585,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:588,1
    - Dst: microseconds::count
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:589,1
    - Dst: sdbusplus::bus_t::new_method_call
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:592,1
    - Dst: auto::c_str
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:592,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:595,1
    - Dst: sdbusplus::bus_t::call
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:596,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:600,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:601,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:605,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:606,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:609,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - selDeviceTime
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 572
    functionDepth: 1
    functionLinenumber: 572
    functionLinenumberEnd: 610
    functionName: ipmiStorageSetSelTime
    functionSourceFile: /src/phosphor-host-ipmid/storagehandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::responseSuccess
    - auto::c_str
    - auto::append
    - std::get<bool>
    - ipmid_get_sd_bus_connection
    - ipmi::getService
    - ipmi::responseUnspecifiedError
    - microseconds::count
    - lg2::error
    - sdbusplus::bus_t::call
    - sdbusplus::bus_t::new_method_call
    - ipmi::getDbusProperty
    - ipmi::responseCommandNotAvailable
    - seconds
    linkageType: ''
    returnType: ipmi::RspType<>
    signature: ipmi::RspType<> ipmiStorageSetSelTime(uint32_t selDeviceTime)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:622,1
    - Dst: localtime
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:623,1
    - Dst: mktime
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:624,1
    - Dst: gmtime
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:625,1
    - Dst: mktime
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:626,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:629,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 616
    functionDepth: 1
    functionLinenumber: 616
    functionLinenumberEnd: 630
    functionName: ipmiStorageGetSelTimeUtcOffset
    functionSourceFile: /src/phosphor-host-ipmid/storagehandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::responseSuccess
    - time
    - mktime
    - gmtime
    - localtime
    linkageType: ''
    returnType: ipmi::RspType<int16_t>
    signature: ipmi::RspType<int16_t> ipmiStorageGetSelTimeUtcOffset()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:638,1
    - Dst: reserveSel
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:638,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 636
    functionDepth: 1
    functionLinenumber: 636
    functionLinenumberEnd: 639
    functionName: ipmiStorageReserveSel
    functionSourceFile: /src/phosphor-host-ipmid/storagehandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::responseSuccess
    - reserveSel
    linkageType: ''
    returnType: ipmi::RspType<uint16_t>
    signature: ipmi::RspType<uint16_t> ipmiStorageReserveSel()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cancelSELReservation
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:675,1
    - Dst: ipmi::sel::toHexStr
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:686,1
    - Dst: report<SELCreated>
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:690,1
    - Dst: Created::RECORD_TYPE
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:691,1
    - Dst: Created::GENERATOR_ID
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:692,1
    - Dst: Created::SENSOR_DATA
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:693,1
    - Dst: auto::c_str
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:693,1
    - Dst: Created::EVENT_DIR
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:694,1
    - Dst: Created::SENSOR_PATH
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:694,1
    - Dst: std::string::c_str
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:694,1
    - Dst: createProcedureLogEntry
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:701,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:705,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 9
    argNames:
    - recordID
    - recordType
    - timeStamp
    - generatorID
    - evmRev
    - sensorType
    - sensorNumber
    - eventDir
    - eventData
    argTypes:
    - uint16_t
    - uint8_t
    - uint32_t
    - uint16_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - std::array<uint8_t, eventDataSize>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 659
    functionDepth: 1
    functionLinenumber: 659
    functionLinenumberEnd: 706
    functionName: ipmiStorageAddSEL
    functionSourceFile: /src/phosphor-host-ipmid/storagehandler.cpp
    functionUses: 0
    functionsReached:
    - createProcedureLogEntry
    - ipmi::responseSuccess
    - auto::c_str
    - ipmi::sel::toHexStr
    - cancelSELReservation
    - report<SELCreated>
    - Created::SENSOR_PATH
    - Created::SENSOR_DATA
    - std::string::c_str
    - Created::RECORD_TYPE
    - Created::GENERATOR_ID
    - Created::EVENT_DIR
    linkageType: ''
    returnType: "ipmi::RspType<uint16_t // recordID of the Added SEL entry\n              >"
    signature: "ipmi::RspType<uint16_t // recordID of the Added SEL entry\n              >
      ipmiStorageAddSEL(uint16_t recordID, uint8_t recordType,\n                      [[maybe_unused]]
      uint32_t timeStamp, uint16_t generatorID,\n                      [[maybe_unused]]
      uint8_t evmRev,\n                      [[maybe_unused]] uint8_t sensorType,
      uint8_t sensorNumber,\n                      uint8_t eventDir,\n                      std::array<uint8_t,
      eventDataSize> eventData)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getService
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:714,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:718,1
    - Dst: getManagedObjects
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:727,1
    - Dst: ipmi::ObjectValueTree::find
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:731,1
    - Dst: ipmi::ObjectValueTree::end
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:732,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ' ctx'
    - ' fruPath'
    argTypes:
    - ipmi::Context::ptr
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 739
    functionName: isFruPresent
    functionSourceFile: /src/phosphor-host-ipmid/storagehandler.cpp
    functionUses: 0
    functionsReached:
    - getService
    - ipmi::getDbusProperty
    - ipmi::ObjectValueTree::end
    - ipmi::ObjectValueTree::find
    - getManagedObjects
    linkageType: ''
    returnType: bool
    signature: bool isFruPresent(ipmi::Context::ptr& ctx, const std::string& fruPath)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:752,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:753,1
    - Dst: ipmi::responseSensorInvalid
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:755,1
    - Dst: isFruPresent
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:759,1
    - Dst: ipmi::responseSensorInvalid
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:761,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:766,1
    - Dst: static_cast<uint16_t>
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:767,1
    - Dst: getFruAreaData
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:767,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:768,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:772,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:773,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - ctx
    - fruID
    argTypes:
    - ipmi::Context::ptr
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 747
    functionDepth: 1
    functionLinenumber: 747
    functionLinenumberEnd: 775
    functionName: ipmiStorageGetFruInvAreaInfo
    functionSourceFile: /src/phosphor-host-ipmid/storagehandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::responseSuccess
    - getFruAreaData
    - ipmi::responseUnspecifiedError
    - static_cast<uint8_t>
    - isFruPresent
    - ipmi::responseSensorInvalid
    - end
    - find
    - static_cast<uint16_t>
    - lg2::error
    linkageType: ''
    returnType: "ipmi::RspType<uint16_t, // FRU Inventory area size in bytes,\n              uint8_t
      \  // access size (bytes / words)\n              >"
    signature: "ipmi::RspType<uint16_t, // FRU Inventory area size in bytes,\n              uint8_t
      \  // access size (bytes / words)\n              > ipmiStorageGetFruInvAreaInfo(ipmi::Context::ptr
      ctx, uint8_t fruID)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:793,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:796,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:797,1
    - Dst: ipmi::responseSensorInvalid
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:799,1
    - Dst: getFruAreaData
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:804,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:805,1
    - Dst: ipmi::responseParmOutOfRange
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:809,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:823,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:824,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:826,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:830,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:831,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - fruDeviceId
    - offset
    - readCount
    argTypes:
    - uint8_t
    - uint16_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 833
      start: 786
    functionDepth: 1
    functionLinenumber: 786
    functionLinenumberEnd: 833
    functionName: ipmiStorageReadFruData
    functionSourceFile: /src/phosphor-host-ipmid/storagehandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::responseSuccess
    - getFruAreaData
    - ipmi::responseUnspecifiedError
    - ipmi::responseParmOutOfRange
    - size
    - ipmi::responseInvalidFieldRequest
    - ipmi::responseSensorInvalid
    - end
    - find
    - begin
    - lg2::error
    linkageType: ''
    returnType: "ipmi::RspType<uint8_t,              // count returned\n              std::vector<uint8_t>>"
    signature: "ipmi::RspType<uint8_t,              // count returned\n              std::vector<uint8_t>>
      ipmiStorageReadFruData(uint8_t fruDeviceId, uint16_t offset,\n                           uint8_t
      readCount)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::EntityInfoMapContainer::getContainer
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:851,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:854,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:854,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:854,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:856,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 835
    functionDepth: 1
    functionLinenumber: 835
    functionLinenumberEnd: 859
    functionName: ipmiGetRepositoryInfo
    functionSourceFile: /src/phosphor-host-ipmid/storagehandler.cpp
    functionUses: 0
    functionsReached:
    - size
    - ipmi::responseSuccess
    - ipmi::sensor::EntityInfoMapContainer::getContainer
    linkageType: ''
    returnType: "ipmi::RspType<uint8_t,  // SDR version\n              uint16_t, //
      record count LS first\n              uint16_t, // free space in bytes, LS first\n
      \             uint32_t, // addition timestamp LS first\n              uint32_t,
      // deletion timestamp LS first\n              uint8_t>"
    signature: "ipmi::RspType<uint8_t,  // SDR version\n              uint16_t, //
      record count LS first\n              uint16_t, // free space in bytes, LS first\n
      \             uint32_t, // addition timestamp LS first\n              uint32_t,
      // deletion timestamp LS first\n              uint8_t> ipmiGetRepositoryInfo()"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: initSELCache
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:864,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:872,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:877,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:883,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:888,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:893,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:898,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:903,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:908,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:915,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:920,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:925,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:934,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:939,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:944,1
    - Dst: ipmi::fru::registerCallbackHandler
      Src: /src/phosphor-host-ipmid/storagehandler.cpp:948,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 950
      start: 861
    functionDepth: 3
    functionLinenumber: 861
    functionLinenumberEnd: 950
    functionName: registerNetFnStorageFunctions
    functionSourceFile: /src/phosphor-host-ipmid/storagehandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::fru::registerCallbackHandler
    - initSELCache
    - ipmi::registerHandler
    linkageType: ''
    returnType: void
    signature: void registerNetFnStorageFunctions()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmid_get_sd_bus_connection
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:49,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:54,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:56,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:61,1
    - Dst: sdbusplus::bus_t::new_method_call
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:65,1
    - Dst: std::string::c_str
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:65,1
    - Dst: std::string::c_str
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:65,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:67,1
    - Dst: sdbusplus::bus_t::call
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:70,1
    - Dst: auto::read
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:71,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - ' intf'
    - ' path'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 82
    functionName: ipmi::fru::readAllProperties
    functionSourceFile: /src/phosphor-host-ipmid/read_fru_data.cpp
    functionUses: 0
    functionsReached:
    - find
    - auto::append
    - ipmi::getService
    - ipmid_get_sd_bus_connection
    - std::string::c_str
    - sdbusplus::bus_t::call
    - auto::read
    - sdbusplus::bus_t::new_method_call
    - lg2::error
    linkageType: ''
    returnType: ipmi::PropertyMap
    signature: "ipmi::PropertyMap readAllProperties(const std::string& intf,\n                                    const
      std::string& path)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:86,1
    - Dst: get_path
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:90,1
    - Dst: std::string::compare
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:92,1
    - Dst: strlen
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:92,1
    - Dst: std::string::erase
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:94,1
    - Dst: strlen
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:94,1
    - Dst: std::find_if
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:98,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:99,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:99,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:102,1
    - Dst: erase
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:104,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - sdbusplus::message_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 108
    functionName: ipmi::fru::processFruPropChange
    functionSourceFile: /src/phosphor-host-ipmid/read_fru_data.cpp
    functionUses: 0
    functionsReached:
    - get_path
    - std::string::erase
    - erase
    - strlen
    - begin
    - std::string::compare
    - std::find_if
    - end
    - empty
    linkageType: ''
    returnType: void
    signature: void processFruPropChange(sdbusplus::message_t& msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmid_get_sd_bus_connection
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:116,1
    - Dst: std::make_unique<sdbusplus::bus::match_t>
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:117,1
    - Dst: path_namespace
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:119,1
    - Dst: type::signal
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:119,1
    - Dst: member
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:120,1
    - Dst: interface
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:120,1
    - Dst: std::bind
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 124
    functionName: ipmi::fru::registerCallbackHandler
    functionSourceFile: /src/phosphor-host-ipmid/read_fru_data.cpp
    functionUses: 1
    functionsReached:
    - type::signal
    - ipmid_get_sd_bus_connection
    - member
    - std::bind
    - path_namespace
    - std::make_unique<sdbusplus::bus::match_t>
    - interface
    linkageType: ''
    returnType: int
    signature: int registerCallbackHandler()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:134,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:135,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:137,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:138,1
    - Dst: ipmi::fru::readAllProperties
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:148,1
    - Dst: ipmi::PropertyMap::find
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:151,1
    - Dst: ipmi::PropertyMap::end
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:152,1
    - Dst: emplace
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:154,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:156,1
    - Dst: std::get<std::string>
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:157,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - ' fruNum'
    argTypes:
    - FRUId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 163
    functionName: ipmi::fru::readDataFromInventory
    functionSourceFile: /src/phosphor-host-ipmid/read_fru_data.cpp
    functionUses: 0
    functionsReached:
    - ipmi::PropertyMap::find
    - find
    - ipmi::PropertyMap::end
    - emplace
    - end
    - ipmi::fru::readAllProperties
    - elog<InternalFailure>
    - std::move
    - lg2::error
    - std::get<std::string>
    linkageType: ''
    returnType: FruInventoryData
    signature: FruInventoryData readDataFromInventory(const FRUId& fruNum)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:167,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:168,1
    - Dst: ipmi::fru::readDataFromInventory
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:172,1
    - Dst: ipmi::fru::buildFruAreaData
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:175,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:175,1
    - Dst: emplace
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:176,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:176,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' fruNum'
    argTypes:
    - FRUId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 165
    functionDepth: 3
    functionLinenumber: 165
    functionLinenumberEnd: 178
    functionName: ipmi::fru::getFruAreaData
    functionSourceFile: /src/phosphor-host-ipmid/read_fru_data.cpp
    functionUses: 0
    functionsReached:
    - find
    - emplace
    - end
    - at
    - ipmi::fru::readDataFromInventory
    - std::move
    - ipmi::fru::buildFruAreaData
    linkageType: ''
    returnType: FruAreaData
    signature: FruAreaData & getFruAreaData(const FRUId& fruNum)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmid_get_sd_bus_connection
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:49,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:54,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:56,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:61,1
    - Dst: sdbusplus::bus_t::new_method_call
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:65,1
    - Dst: std::string::c_str
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:65,1
    - Dst: std::string::c_str
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:65,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:67,1
    - Dst: sdbusplus::bus_t::call
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:70,1
    - Dst: auto::read
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:71,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - ' intf'
    - ' path'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 82
    functionName: ipmi::fru::readAllProperties
    functionSourceFile: /src/phosphor-host-ipmid/read_fru_data.cpp
    functionUses: 1
    functionsReached:
    - find
    - auto::append
    - ipmi::getService
    - ipmid_get_sd_bus_connection
    - std::string::c_str
    - sdbusplus::bus_t::call
    - auto::read
    - sdbusplus::bus_t::new_method_call
    - lg2::error
    linkageType: ''
    returnType: ipmi::PropertyMap
    signature: "ipmi::PropertyMap readAllProperties(const std::string& intf,\n                                    const
      std::string& path)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:86,1
    - Dst: get_path
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:90,1
    - Dst: std::string::compare
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:92,1
    - Dst: strlen
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:92,1
    - Dst: std::string::erase
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:94,1
    - Dst: strlen
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:94,1
    - Dst: std::find_if
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:98,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:99,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:99,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:102,1
    - Dst: erase
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:104,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - sdbusplus::message_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 108
    functionName: ipmi::fru::processFruPropChange
    functionSourceFile: /src/phosphor-host-ipmid/read_fru_data.cpp
    functionUses: 0
    functionsReached:
    - get_path
    - std::string::erase
    - erase
    - strlen
    - begin
    - std::string::compare
    - std::find_if
    - end
    - empty
    linkageType: ''
    returnType: void
    signature: void processFruPropChange(sdbusplus::message_t& msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmid_get_sd_bus_connection
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:116,1
    - Dst: std::make_unique<sdbusplus::bus::match_t>
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:117,1
    - Dst: path_namespace
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:119,1
    - Dst: type::signal
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:119,1
    - Dst: member
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:120,1
    - Dst: interface
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:120,1
    - Dst: std::bind
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 124
    functionName: ipmi::fru::registerCallbackHandler
    functionSourceFile: /src/phosphor-host-ipmid/read_fru_data.cpp
    functionUses: 1
    functionsReached:
    - type::signal
    - ipmid_get_sd_bus_connection
    - member
    - std::bind
    - path_namespace
    - std::make_unique<sdbusplus::bus::match_t>
    - interface
    linkageType: ''
    returnType: int
    signature: int registerCallbackHandler()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:134,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:135,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:137,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:138,1
    - Dst: ipmi::fru::readAllProperties
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:148,1
    - Dst: ipmi::PropertyMap::find
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:151,1
    - Dst: ipmi::PropertyMap::end
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:152,1
    - Dst: emplace
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:154,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:156,1
    - Dst: std::get<std::string>
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:157,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - ' fruNum'
    argTypes:
    - FRUId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 163
    functionName: ipmi::fru::readDataFromInventory
    functionSourceFile: /src/phosphor-host-ipmid/read_fru_data.cpp
    functionUses: 1
    functionsReached:
    - ipmi::PropertyMap::find
    - find
    - ipmi::PropertyMap::end
    - emplace
    - end
    - ipmi::fru::readAllProperties
    - elog<InternalFailure>
    - std::move
    - lg2::error
    - std::get<std::string>
    linkageType: ''
    returnType: FruInventoryData
    signature: FruInventoryData readDataFromInventory(const FRUId& fruNum)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:167,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:168,1
    - Dst: ipmi::fru::readDataFromInventory
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:172,1
    - Dst: ipmi::fru::buildFruAreaData
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:175,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:175,1
    - Dst: emplace
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:176,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:176,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' fruNum'
    argTypes:
    - FRUId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 165
    functionDepth: 3
    functionLinenumber: 165
    functionLinenumberEnd: 178
    functionName: ipmi::fru::getFruAreaData
    functionSourceFile: /src/phosphor-host-ipmid/read_fru_data.cpp
    functionUses: 0
    functionsReached:
    - find
    - emplace
    - end
    - at
    - ipmi::fru::readDataFromInventory
    - std::move
    - ipmi::fru::buildFruAreaData
    linkageType: ''
    returnType: FruAreaData
    signature: FruAreaData & getFruAreaData(const FRUId& fruNum)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmid_get_sd_bus_connection
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:49,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:54,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:56,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:61,1
    - Dst: sdbusplus::bus_t::new_method_call
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:65,1
    - Dst: std::string::c_str
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:65,1
    - Dst: std::string::c_str
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:65,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:67,1
    - Dst: sdbusplus::bus_t::call
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:70,1
    - Dst: auto::read
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:71,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - ' intf'
    - ' path'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 82
    functionName: ipmi::fru::readAllProperties
    functionSourceFile: /src/phosphor-host-ipmid/read_fru_data.cpp
    functionUses: 2
    functionsReached:
    - find
    - auto::append
    - ipmi::getService
    - ipmid_get_sd_bus_connection
    - std::string::c_str
    - sdbusplus::bus_t::call
    - auto::read
    - sdbusplus::bus_t::new_method_call
    - lg2::error
    linkageType: ''
    returnType: ipmi::PropertyMap
    signature: "ipmi::PropertyMap readAllProperties(const std::string& intf,\n                                    const
      std::string& path)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:86,1
    - Dst: get_path
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:90,1
    - Dst: std::string::compare
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:92,1
    - Dst: strlen
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:92,1
    - Dst: std::string::erase
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:94,1
    - Dst: strlen
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:94,1
    - Dst: std::find_if
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:98,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:99,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:99,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:102,1
    - Dst: erase
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:104,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - sdbusplus::message_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 108
    functionName: ipmi::fru::processFruPropChange
    functionSourceFile: /src/phosphor-host-ipmid/read_fru_data.cpp
    functionUses: 0
    functionsReached:
    - get_path
    - std::string::erase
    - erase
    - strlen
    - begin
    - std::string::compare
    - std::find_if
    - end
    - empty
    linkageType: ''
    returnType: void
    signature: void processFruPropChange(sdbusplus::message_t& msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmid_get_sd_bus_connection
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:116,1
    - Dst: std::make_unique<sdbusplus::bus::match_t>
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:117,1
    - Dst: path_namespace
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:119,1
    - Dst: type::signal
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:119,1
    - Dst: member
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:120,1
    - Dst: interface
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:120,1
    - Dst: std::bind
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 124
    functionName: ipmi::fru::registerCallbackHandler
    functionSourceFile: /src/phosphor-host-ipmid/read_fru_data.cpp
    functionUses: 1
    functionsReached:
    - type::signal
    - ipmid_get_sd_bus_connection
    - member
    - std::bind
    - path_namespace
    - std::make_unique<sdbusplus::bus::match_t>
    - interface
    linkageType: ''
    returnType: int
    signature: int registerCallbackHandler()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:134,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:135,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:137,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:138,1
    - Dst: ipmi::fru::readAllProperties
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:148,1
    - Dst: ipmi::PropertyMap::find
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:151,1
    - Dst: ipmi::PropertyMap::end
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:152,1
    - Dst: emplace
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:154,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:156,1
    - Dst: std::get<std::string>
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:157,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - ' fruNum'
    argTypes:
    - FRUId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 163
    functionName: ipmi::fru::readDataFromInventory
    functionSourceFile: /src/phosphor-host-ipmid/read_fru_data.cpp
    functionUses: 2
    functionsReached:
    - ipmi::PropertyMap::find
    - find
    - ipmi::PropertyMap::end
    - emplace
    - end
    - ipmi::fru::readAllProperties
    - elog<InternalFailure>
    - std::move
    - lg2::error
    - std::get<std::string>
    linkageType: ''
    returnType: FruInventoryData
    signature: FruInventoryData readDataFromInventory(const FRUId& fruNum)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:167,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:168,1
    - Dst: ipmi::fru::readDataFromInventory
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:172,1
    - Dst: ipmi::fru::buildFruAreaData
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:175,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:175,1
    - Dst: emplace
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:176,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:176,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' fruNum'
    argTypes:
    - FRUId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 165
    functionDepth: 3
    functionLinenumber: 165
    functionLinenumberEnd: 178
    functionName: ipmi::fru::getFruAreaData
    functionSourceFile: /src/phosphor-host-ipmid/read_fru_data.cpp
    functionUses: 0
    functionsReached:
    - find
    - emplace
    - end
    - at
    - ipmi::fru::readDataFromInventory
    - std::move
    - ipmi::fru::buildFruAreaData
    linkageType: ''
    returnType: FruAreaData
    signature: FruAreaData & getFruAreaData(const FRUId& fruNum)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmid_get_sd_bus_connection
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:49,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:54,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:56,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:61,1
    - Dst: sdbusplus::bus_t::new_method_call
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:65,1
    - Dst: std::string::c_str
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:65,1
    - Dst: std::string::c_str
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:65,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:67,1
    - Dst: sdbusplus::bus_t::call
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:70,1
    - Dst: auto::read
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:71,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - ' intf'
    - ' path'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 82
    functionName: ipmi::fru::readAllProperties
    functionSourceFile: /src/phosphor-host-ipmid/read_fru_data.cpp
    functionUses: 3
    functionsReached:
    - find
    - auto::append
    - ipmi::getService
    - ipmid_get_sd_bus_connection
    - std::string::c_str
    - sdbusplus::bus_t::call
    - auto::read
    - sdbusplus::bus_t::new_method_call
    - lg2::error
    linkageType: ''
    returnType: ipmi::PropertyMap
    signature: "ipmi::PropertyMap readAllProperties(const std::string& intf,\n                                    const
      std::string& path)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:86,1
    - Dst: get_path
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:90,1
    - Dst: std::string::compare
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:92,1
    - Dst: strlen
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:92,1
    - Dst: std::string::erase
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:94,1
    - Dst: strlen
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:94,1
    - Dst: std::find_if
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:98,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:99,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:99,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:102,1
    - Dst: erase
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:104,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - sdbusplus::message_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 108
    functionName: ipmi::fru::processFruPropChange
    functionSourceFile: /src/phosphor-host-ipmid/read_fru_data.cpp
    functionUses: 0
    functionsReached:
    - get_path
    - std::string::erase
    - erase
    - strlen
    - begin
    - std::string::compare
    - std::find_if
    - end
    - empty
    linkageType: ''
    returnType: void
    signature: void processFruPropChange(sdbusplus::message_t& msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmid_get_sd_bus_connection
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:116,1
    - Dst: std::make_unique<sdbusplus::bus::match_t>
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:117,1
    - Dst: path_namespace
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:119,1
    - Dst: type::signal
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:119,1
    - Dst: member
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:120,1
    - Dst: interface
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:120,1
    - Dst: std::bind
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 124
    functionName: ipmi::fru::registerCallbackHandler
    functionSourceFile: /src/phosphor-host-ipmid/read_fru_data.cpp
    functionUses: 1
    functionsReached:
    - type::signal
    - ipmid_get_sd_bus_connection
    - member
    - std::bind
    - path_namespace
    - std::make_unique<sdbusplus::bus::match_t>
    - interface
    linkageType: ''
    returnType: int
    signature: int registerCallbackHandler()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:134,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:135,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:137,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:138,1
    - Dst: ipmi::fru::readAllProperties
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:148,1
    - Dst: ipmi::PropertyMap::find
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:151,1
    - Dst: ipmi::PropertyMap::end
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:152,1
    - Dst: emplace
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:154,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:156,1
    - Dst: std::get<std::string>
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:157,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - ' fruNum'
    argTypes:
    - FRUId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 163
    functionName: ipmi::fru::readDataFromInventory
    functionSourceFile: /src/phosphor-host-ipmid/read_fru_data.cpp
    functionUses: 3
    functionsReached:
    - ipmi::PropertyMap::find
    - find
    - ipmi::PropertyMap::end
    - emplace
    - end
    - ipmi::fru::readAllProperties
    - elog<InternalFailure>
    - std::move
    - lg2::error
    - std::get<std::string>
    linkageType: ''
    returnType: FruInventoryData
    signature: FruInventoryData readDataFromInventory(const FRUId& fruNum)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:167,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:168,1
    - Dst: ipmi::fru::readDataFromInventory
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:172,1
    - Dst: ipmi::fru::buildFruAreaData
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:175,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:175,1
    - Dst: emplace
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:176,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:176,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/read_fru_data.cpp:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' fruNum'
    argTypes:
    - FRUId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 165
    functionDepth: 3
    functionLinenumber: 165
    functionLinenumberEnd: 178
    functionName: ipmi::fru::getFruAreaData
    functionSourceFile: /src/phosphor-host-ipmid/read_fru_data.cpp
    functionUses: 0
    functionsReached:
    - find
    - emplace
    - end
    - at
    - ipmi::fru::readDataFromInventory
    - std::move
    - ipmi::fru::buildFruAreaData
    linkageType: ''
    returnType: FruAreaData
    signature: FruAreaData & getFruAreaData(const FRUId& fruNum)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::ifstream::is_open
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:26,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:28,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:29,1
    - Dst: Json::parse
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:32,1
    - Dst: auto::is_discarded
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:33,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:35,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:36,1
    - Dst: std::vector::push_back
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:40,1
    - Dst: std::vector::push_back
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:44,1
    - Dst: value
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:44,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 48
    functionName: cipher::getCipherList
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 0
    functionsReached:
    - auto::is_discarded
    - std::ifstream::is_open
    - Json::parse
    - value
    - elog<InternalFailure>
    - std::vector::push_back
    - lg2::error
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> getCipherList()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::ifstream::is_open
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:26,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:28,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:29,1
    - Dst: Json::parse
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:32,1
    - Dst: auto::is_discarded
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:33,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:35,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:36,1
    - Dst: std::vector::push_back
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:40,1
    - Dst: std::vector::push_back
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:44,1
    - Dst: value
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:44,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 48
    functionName: cipher::getCipherList
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 0
    functionsReached:
    - auto::is_discarded
    - std::ifstream::is_open
    - Json::parse
    - value
    - elog<InternalFailure>
    - std::vector::push_back
    - lg2::error
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> getCipherList()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: response
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: ipmi::transport::responseParamNotSupported
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 0
    functionsReached:
    - response
    linkageType: ''
    returnType: auto
    signature: auto responseParamNotSupported()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: response
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: ipmi::transport::responseParamSetLocked
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 0
    functionsReached:
    - response
    linkageType: ''
    returnType: auto
    signature: auto responseParamSetLocked()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: response
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: ipmi::transport::responseParamReadOnly
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 0
    functionsReached:
    - response
    linkageType: ''
    returnType: auto
    signature: auto responseParamReadOnly()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: response
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: ipmi::transport::responseWriteReadParameter
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 0
    functionsReached:
    - response
    linkageType: ''
    returnType: auto
    signature: auto responseWriteReadParameter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:94,1
    - Dst: std::string_view::size
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:95,1
    - Dst: std::string_view::size
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:96,1
    - Dst: std::string_view::substr
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:96,1
    - Dst: std::string_view::size
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:97,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - ifname
    - path
    argTypes:
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 100
    functionName: ipmi::transport::ifnameInPath
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 0
    functionsReached:
    - std::string_view::size
    - size
    - std::string_view::substr
    linkageType: ''
    returnType: bool
    signature: bool ifnameInPath(std::string_view ifname, std::string_view path)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: getChannelName
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:105,1
    - Dst: auto::empty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:106,1
    - Dst: ipmi::getSubTree
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:114,1
    - Dst: ipmi::transport::ifnameInPath
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:119,1
    - Dst: ChannelParams::service::empty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:138,1
    - Dst: ChannelParams::ifPath::empty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:142,1
    - Dst: ChannelParams::logicalPath::empty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:146,1
    - Dst: ChannelParams::ifPath::empty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:154,1
    - Dst: ChannelParams::logicalPath::empty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:159,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:165,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 34
    argCount: 2
    argNames:
    - ' bus'
    - channel
    argTypes:
    - sdbusplus::bus_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 167
    functionName: ipmi::transport::maybeGetChannelParams
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 0
    functionsReached:
    - ChannelParams::ifPath::empty
    - ChannelParams::service::empty
    - ipmi::transport::ifnameInPath
    - auto::empty
    - ipmi::getSubTree
    - getChannelName
    - ChannelParams::logicalPath::empty
    - std::move
    linkageType: ''
    returnType: std::optional<ChannelParams>
    signature: "std::optional<ChannelParams> maybeGetChannelParams(sdbusplus::bus_t&
      bus,\n                                                   uint8_t channel)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::maybeGetChannelParams
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:171,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:174,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:176,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' bus'
    - channel
    argTypes:
    - sdbusplus::bus_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 169
    functionDepth: 2
    functionLinenumber: 169
    functionLinenumberEnd: 179
    functionName: ipmi::transport::getChannelParams
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 4
    functionsReached:
    - ipmi::transport::maybeGetChannelParams
    - std::move
    - lg2::error
    - elog<InternalFailure>
    linkageType: ''
    returnType: ChannelParams
    signature: ChannelParams getChannelParams(sdbusplus::bus_t& bus, uint8_t channel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<T>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:187,1
    - Dst: getDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' bus'
    - ' params'
    - ' prop'
    argTypes:
    - sdbusplus::bus_t
    - ChannelParams
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 189
    functionName: ipmi::transport::getEthProp
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 0
    functionsReached:
    - std::get<T>
    - getDbusProperty
    linkageType: ''
    returnType: T
    signature: "T getEthProp(sdbusplus::bus_t& bus, const ChannelParams& params,\n
      \                   const std::string& prop)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' bus'
    - ' params'
    - ' prop'
    - ' t'
    argTypes:
    - sdbusplus::bus_t
    - ChannelParams
    - std::string
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 196
    functionName: ipmi::transport::setEthProp
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 0
    functionsReached:
    - setDbusProperty
    linkageType: ''
    returnType: void
    signature: "void setEthProp(sdbusplus::bus_t& bus, const ChannelParams& params,\n
      \                      const std::string& prop, const T& t)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:207,1
    - Dst: stdplus::fromStr<stdplus::EtherAddr>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:209,1
    - Dst: std::get<std::string>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' bus'
    - ' params'
    argTypes:
    - sdbusplus::bus_t
    - ChannelParams
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 210
    functionName: ipmi::transport::getMACProperty
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 0
    functionsReached:
    - stdplus::fromStr<stdplus::EtherAddr>
    - std::get<std::string>
    - getDbusProperty
    linkageType: ''
    returnType: stdplus::EtherAddr
    signature: "stdplus::EtherAddr getMACProperty(sdbusplus::bus_t& bus,\n                                  const
      ChannelParams& params)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stdplus::toStr
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:221,1
    - Dst: setDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' bus'
    - ' params'
    - mac
    argTypes:
    - sdbusplus::bus_t
    - ChannelParams
    - stdplus::EtherAddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 224
    functionName: ipmi::transport::setMACProperty
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 0
    functionsReached:
    - setDbusProperty
    - stdplus::toStr
    linkageType: ''
    returnType: void
    signature: "void setMACProperty(sdbusplus::bus_t& bus, const ChannelParams& params,\n
      \                   stdplus::EtherAddr mac)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:229,1
    - Dst: new_method_call
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:235,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:235,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:235,1
    - Dst: call_noreply
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:237,1
    - Dst: strcmp
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:242,1
    - Dst: name
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:242,1
    - Dst: strcmp
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:244,1
    - Dst: name
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:244,1
    - Dst: strcmp
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:245,1
    - Dst: name
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:245,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - ' bus'
    - ' service'
    - ' path'
    argTypes:
    - sdbusplus::bus_t
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 252
    functionName: ipmi::transport::deleteObjectIfExists
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 4
    functionsReached:
    - strcmp
    - c_str
    - name
    - empty
    - new_method_call
    - call_noreply
    linkageType: ''
    returnType: void
    signature: "void deleteObjectIfExists(sdbusplus::bus_t& bus, const std::string&
      service,\n                          const std::string& path)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_method_call
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:268,1
    - Dst: service::c_str
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:268,1
    - Dst: logicalPath::c_str
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:268,1
    - Dst: sdbusplus::common::xyz::openbmc_project::network::convertForMessage
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:271,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:274,1
    - Dst: tsh
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:274,1
    - Dst: call_noreply
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' bus'
    - ' params'
    - address
    - prefix
    argTypes:
    - sdbusplus::bus_t
    - ChannelParams
    - typename AddrFamily<family>::addr
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 276
    functionName: ipmi::transport::createIfAddr
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 0
    functionsReached:
    - logicalPath::c_str
    - service::c_str
    - auto::append
    - sdbusplus::common::xyz::openbmc_project::network::convertForMessage
    - new_method_call
    - tsh
    - call_noreply
    linkageType: ''
    returnType: void
    signature: "void createIfAddr(sdbusplus::bus_t& bus, const ChannelParams& params,\n
      \                 typename AddrFamily<family>::addr address, uint8_t prefix)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:291,1
    - Dst: getDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:292,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:299,1
    - Dst: ipmi::transport::getIfAddr
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:305,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - ' bus'
    - ' params'
    argTypes:
    - sdbusplus::bus_t
    - ChannelParams
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 284
    functionDepth: 2
    functionLinenumber: 284
    functionLinenumberEnd: 316
    functionName: ipmi::transport::getIfAddr4
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::transport::getIfAddr
    - lg2::error
    - getDbusProperty
    - std::get<bool>
    linkageType: ''
    returnType: auto
    signature: auto getIfAddr4(sdbusplus::bus_t& bus, const ChannelParams& params)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::getIfAddr4
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:329,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:332,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:333,1
    - Dst: ipmi::transport::deleteObjectIfExists
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:341,1
    - Dst: std::optional<stdplus::In4Addr>::value_or
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:343,1
    - Dst: ipmi::transport::createIfAddr
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:346,1
    - Dst: std::optional<uint8_t>::value_or
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:347,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - ' bus'
    - ' params'
    - address
    - prefix
    argTypes:
    - sdbusplus::bus_t
    - ChannelParams
    - std::optional<stdplus::In4Addr>
    - std::optional<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 325
    functionDepth: 3
    functionLinenumber: 325
    functionLinenumberEnd: 349
    functionName: ipmi::transport::reconfigureIfAddr4
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 0
    functionsReached:
    - std::optional<stdplus::In4Addr>::value_or
    - ipmi::transport::createIfAddr
    - std::optional<uint8_t>::value_or
    - ipmi::transport::getIfAddr4
    - ipmi::transport::deleteObjectIfExists
    - elog<InternalFailure>
    - lg2::error
    linkageType: ''
    returnType: void
    signature: "void reconfigureIfAddr4(sdbusplus::bus_t& bus, const ChannelParams&
      params,\n                        std::optional<stdplus::In4Addr> address,\n
      \                       std::optional<uint8_t> prefix)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::getGatewayProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:356,1
    - Dst: ipmi::transport::findStaticNeighbor
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:362,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' bus'
    - ' params'
    - ' neighbors'
    argTypes:
    - sdbusplus::bus_t
    - ChannelParams
    - ObjectLookupCache
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 363
    functionName: ipmi::transport::findGatewayNeighbor
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::transport::findStaticNeighbor
    - ipmi::transport::getGatewayProperty
    linkageType: ''
    returnType: std::optional<IfNeigh<family>>
    signature: "std::optional<IfNeigh<family>> findGatewayNeighbor(sdbusplus::bus_t&
      bus,\n                                                   const ChannelParams&
      params,\n                                                   ObjectLookupCache&
      neighbors)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::findGatewayNeighbor
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' bus'
    - ' params'
    argTypes:
    - sdbusplus::bus_t
    - ChannelParams
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 366
    functionDepth: 2
    functionLinenumber: 366
    functionLinenumberEnd: 371
    functionName: ipmi::transport::getGatewayNeighbor
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::transport::findGatewayNeighbor
    linkageType: ''
    returnType: std::optional<IfNeigh<family>>
    signature: "std::optional<IfNeigh<family>> getGatewayNeighbor(sdbusplus::bus_t&
      bus,\n                                                  const ChannelParams&
      params)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::getGatewayProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:377,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:380,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:381,1
    - Dst: ipmi::transport::findStaticNeighbor
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:386,1
    - Dst: ipmi::transport::deleteObjectIfExists
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:389,1
    - Dst: ipmi::transport::createNeighbor
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:392,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ' bus'
    - ' params'
    - mac
    argTypes:
    - sdbusplus::bus_t
    - ChannelParams
    - stdplus::EtherAddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 393
    functionName: ipmi::transport::reconfigureGatewayMAC
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::transport::findStaticNeighbor
    - ipmi::transport::deleteObjectIfExists
    - elog<InternalFailure>
    - ipmi::transport::getGatewayProperty
    - lg2::error
    - ipmi::transport::createNeighbor
    linkageType: ''
    returnType: void
    signature: "void reconfigureGatewayMAC(sdbusplus::bus_t& bus, const ChannelParams&
      params,\n                           stdplus::EtherAddr mac)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::getIfAddr
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:404,1
    - Dst: ipmi::transport::deleteObjectIfExists
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:407,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ' bus'
    - ' params'
    - idx
    argTypes:
    - sdbusplus::bus_t
    - ChannelParams
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 401
    functionDepth: 2
    functionLinenumber: 401
    functionLinenumberEnd: 409
    functionName: ipmi::transport::deconfigureIfAddr6
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::transport::getIfAddr
    - ipmi::transport::deleteObjectIfExists
    linkageType: ''
    returnType: void
    signature: "void deconfigureIfAddr6(sdbusplus::bus_t& bus, const ChannelParams&
      params,\n                        uint8_t idx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::deconfigureIfAddr6
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:422,1
    - Dst: ipmi::transport::createIfAddr
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - ' bus'
    - ' params'
    - idx
    - address
    - prefix
    argTypes:
    - sdbusplus::bus_t
    - ChannelParams
    - uint8_t
    - stdplus::In6Addr
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 419
    functionDepth: 3
    functionLinenumber: 419
    functionLinenumberEnd: 424
    functionName: ipmi::transport::reconfigureIfAddr6
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::transport::deconfigureIfAddr6
    - ipmi::transport::createIfAddr
    linkageType: ''
    returnType: void
    signature: "void reconfigureIfAddr6(sdbusplus::bus_t& bus, const ChannelParams&
      params,\n                        uint8_t idx, stdplus::In6Addr address, uint8_t
      prefix)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: "sdbusplus::common::xyz::openbmc_project::network::\n                convertForMessage"
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:443,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:445,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:448,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - origin
    argTypes:
    - IP::AddressOrigin
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 451
    functionName: ipmi::transport::originToSourceType
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 0
    functionsReached:
    - "sdbusplus::common::xyz::openbmc_project::network::\n                convertForMessage"
    - lg2::error
    - elog<InternalFailure>
    linkageType: ''
    returnType: IPv6Source
    signature: IPv6Source originToSourceType(IP::AddressOrigin origin)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:469,1
    - Dst: ipmi::transport::originToSourceType
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:472,1
    - Dst: pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:479,1
    - Dst: pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:480,1
    - Dst: types::enum_cast<uint4_t>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:480,1
    - Dst: pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:481,1
    - Dst: stdplus::raw::asView<char>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:481,1
    - Dst: pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:482,1
    - Dst: pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:483,1
    - Dst: types::enum_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:483,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 4
    argNames:
    - ' ret'
    - channel
    - set
    - ' origins'
    argTypes:
    - message::Payload
    - uint8_t
    - uint8_t
    - std::unordered_set<IP::AddressOrigin>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 460
    functionDepth: 2
    functionLinenumber: 460
    functionLinenumberEnd: 484
    functionName: ipmi::transport::getLanIPv6Address
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 0
    functionsReached:
    - types::enum_cast<uint4_t>
    - ipmi::transport::originToSourceType
    - ipmi::transport::channelCall
    - stdplus::raw::asView<char>
    - types::enum_cast<uint8_t>
    - pack
    linkageType: ''
    returnType: void
    signature: "void getLanIPv6Address(message::Payload& ret, uint8_t channel, uint8_t
      set,\n                       const std::unordered_set<IP::AddressOrigin>& origins)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::get<uint32_t>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:500,1
    - Dst: getDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:500,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:504,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:507,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' bus'
    - ' params'
    argTypes:
    - sdbusplus::bus_t
    - ChannelParams
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 510
    functionName: ipmi::transport::getVLANProperty
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 0
    functionsReached:
    - std::get<uint32_t>
    - lg2::error
    - elog<InternalFailure>
    - getDbusProperty
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t getVLANProperty(sdbusplus::bus_t& bus, const ChannelParams&
      params)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getSubTree
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:521,1
    - Dst: ipmi::transport::ifnameInPath
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:525,1
    - Dst: ipmi::transport::deleteObjectIfExists
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:531,1
    - Dst: ipmi::transport::setEthProp
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:541,1
    - Dst: ipmi::transport::setEthProp
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:542,1
    - Dst: ipmi::transport::setEthProp
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:543,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - ' bus'
    - ' params'
    argTypes:
    - sdbusplus::bus_t
    - ChannelParams
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 517
    functionDepth: 1
    functionLinenumber: 517
    functionLinenumberEnd: 544
    functionName: ipmi::transport::deconfigureChannel
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::transport::ifnameInPath
    - ipmi::transport::deleteObjectIfExists
    - ipmi::getSubTree
    - ipmi::transport::setEthProp
    linkageType: ''
    returnType: void
    signature: void deconfigureChannel(sdbusplus::bus_t& bus, ChannelParams& params)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: new_method_call
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:559,1
    - Dst: service::c_str
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:559,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:559,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:561,1
    - Dst: static_cast<uint32_t>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:561,1
    - Dst: call
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:562,1
    - Dst: auto::unpack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:563,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:565,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' bus'
    - ' params'
    - vlan
    argTypes:
    - sdbusplus::bus_t
    - ChannelParams
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 566
    functionName: ipmi::transport::createVLAN
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 0
    functionsReached:
    - service::c_str
    - auto::unpack
    - call
    - auto::append
    - c_str
    - static_cast<uint32_t>
    - new_method_call
    - std::move
    linkageType: ''
    returnType: void
    signature: void createVLAN(sdbusplus::bus_t& bus, ChannelParams& params, uint16_t
      vlan)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::getEthProp
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:583,1
    - Dst: ipmi::transport::getEthProp
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:584,1
    - Dst: ipmi::transport::getEthProp
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:585,1
    - Dst: ipmi::transport::findIfAddr
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:587,1
    - Dst: ipmi::transport::findIfAddr
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:592,1
    - Dst: std::vector::push_back
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:597,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:597,1
    - Dst: ipmi::transport::findGatewayNeighbor
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:600,1
    - Dst: ipmi::transport::findGatewayNeighbor
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:601,1
    - Dst: ipmi::transport::deconfigureChannel
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:605,1
    - Dst: ipmi::transport::createVLAN
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:606,1
    - Dst: ipmi::transport::setEthProp
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:609,1
    - Dst: ipmi::transport::setEthProp
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:610,1
    - Dst: ipmi::transport::setEthProp
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:611,1
    - Dst: ipmi::transport::setEthProp
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:613,1
    - Dst: ipmi::transport::setEthProp
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:614,1
    - Dst: ipmi::transport::setEthProp
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:615,1
    - Dst: ipmi::transport::createIfAddr
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:618,1
    - Dst: ipmi::transport::createIfAddr
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:622,1
    - Dst: ipmi::transport::createNeighbor
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:626,1
    - Dst: ipmi::transport::createNeighbor
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:630,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 3
    argNames:
    - ' bus'
    - ' params'
    - vlan
    argTypes:
    - sdbusplus::bus_t
    - ChannelParams
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 574
    functionDepth: 2
    functionLinenumber: 574
    functionLinenumberEnd: 632
    functionName: ipmi::transport::reconfigureVLAN
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - ipmi::transport::findIfAddr
    - ipmi::transport::getEthProp
    - ipmi::transport::setEthProp
    - ipmi::transport::createVLAN
    - ipmi::transport::findGatewayNeighbor
    - std::move
    - ipmi::transport::deconfigureChannel
    - ipmi::transport::createIfAddr
    - ipmi::transport::createNeighbor
    linkageType: ''
    returnType: void
    signature: "void reconfigureVLAN(sdbusplus::bus_t& bus, ChannelParams& params,\n
      \                    uint16_t vlan)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:652,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:653,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - channel
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 658
    functionName: ipmi::transport::getSetStatus
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 0
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: SetStatus
    signature: SetStatus & getSetStatus(uint8_t channel)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unpack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:665,1
    - Dst: stdplus::raw::copyFrom<T>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:669,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' req'
    argTypes:
    - message::Payload
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 662
    functionDepth: 0
    functionLinenumber: 662
    functionLinenumberEnd: 670
    functionName: ipmi::transport::unpackT
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 0
    functionsReached:
    - stdplus::raw::copyFrom<T>
    - unpack
    linkageType: ''
    returnType: T
    signature: T unpackT(message::Payload& req)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fullyUnpacked
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:675,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' req'
    argTypes:
    - message::Payload
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 673
    functionDepth: 0
    functionLinenumber: 673
    functionLinenumberEnd: 679
    functionName: ipmi::transport::unpackFinal
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 0
    functionsReached:
    - fullyUnpacked
    linkageType: ''
    returnType: void
    signature: void unpackFinal(message::Payload& req)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::responseParamNotSupported
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:726,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' req'
    argTypes:
    - message::Payload
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 723
    functionDepth: 1
    functionLinenumber: 723
    functionLinenumberEnd: 727
    functionName: ipmi::transport::setLanOem
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::transport::responseParamNotSupported
    linkageType: ''
    returnType: RspType<>
    signature: RspType<> setLanOem(uint8_t, uint8_t, message::Payload& req)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::responseParamNotSupported
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:731,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 729
    functionDepth: 1
    functionLinenumber: 729
    functionLinenumberEnd: 732
    functionName: ipmi::transport::getLanOem
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::transport::responseParamNotSupported
    linkageType: ''
    returnType: RspType<message::Payload>
    signature: RspType<message::Payload> getLanOem(uint8_t, uint8_t, uint8_t, uint8_t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getChannelInfo
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:746,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:753,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - channel
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 743
    functionDepth: 0
    functionLinenumber: 743
    functionLinenumberEnd: 754
    functionName: ipmi::transport::isLanChannel
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 0
    functionsReached:
    - getChannelInfo
    - static_cast<uint8_t>
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> isLanChannel(uint8_t channel)
  - BBCount: 64
    BranchProfiles: []
    Callsites:
    - Dst: convertCurrentChannelNum
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:759,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:760,1
    - Dst: isValidChannel
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:761,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:763,1
    - Dst: responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:765,1
    - Dst: ipmi::transport::isLanChannel
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:768,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:770,1
    - Dst: responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:771,1
    - Dst: static_cast<LanParam>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:774,1
    - Dst: unpack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:780,1
    - Dst: responseReqDataLenInvalid
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:782,1
    - Dst: ipmi::transport::unpackFinal
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:784,1
    - Dst: responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:787,1
    - Dst: static_cast<SetStatus>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:789,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:789,1
    - Dst: ipmi::transport::getSetStatus
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:794,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:795,1
    - Dst: ipmi::transport::getSetStatus
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:799,1
    - Dst: ipmi::transport::responseParamSetLocked
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:802,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:805,1
    - Dst: ipmi::transport::getSetStatus
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:808,1
    - Dst: responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:810,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:812,1
    - Dst: ipmi::transport::responseParamNotSupported
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:814,1
    - Dst: ipmi::transport::responseParamReadOnly
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:819,1
    - Dst: ipmi::transport::responseParamReadOnly
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:824,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:828,1
    - Dst: responseCommandNotAvailable
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:830,1
    - Dst: ipmi::transport::unpackT
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:832,1
    - Dst: ipmi::transport::unpackFinal
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:833,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:834,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:835,1
    - Dst: unpack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:841,1
    - Dst: responseReqDataLenInvalid
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:843,1
    - Dst: ipmi::transport::unpackFinal
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:845,1
    - Dst: responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:848,1
    - Dst: static_cast<IPSrc>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:850,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:850,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:857,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:858,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:861,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:862,1
    - Dst: responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:865,1
    - Dst: ipmi::transport::responseParamNotSupported
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:867,1
    - Dst: ipmi::transport::unpackT
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:871,1
    - Dst: ipmi::transport::unpackFinal
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:872,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:873,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:874,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:878,1
    - Dst: responseCommandNotAvailable
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:880,1
    - Dst: stdplus::maskToPfx
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:882,1
    - Dst: ipmi::transport::unpackT
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:882,1
    - Dst: ipmi::transport::unpackFinal
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:883,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:884,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:885,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:889,1
    - Dst: responseCommandNotAvailable
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:891,1
    - Dst: ipmi::transport::unpackT
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:893,1
    - Dst: ipmi::transport::unpackFinal
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:894,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:895,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:896,1
    - Dst: ipmi::transport::unpackT
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:900,1
    - Dst: ipmi::transport::unpackFinal
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:901,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:902,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:903,1
    - Dst: unpack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:911,1
    - Dst: responseReqDataLenInvalid
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:913,1
    - Dst: ipmi::transport::unpackFinal
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:915,1
    - Dst: responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:919,1
    - Dst: static_cast<uint16_t>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:922,1
    - Dst: responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:931,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:934,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:935,1
    - Dst: ipmi::transport::responseParamReadOnly
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:942,1
    - Dst: unpack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:947,1
    - Dst: responseReqDataLenInvalid
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:949,1
    - Dst: ipmi::transport::unpackFinal
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:951,1
    - Dst: static_cast<IPFamilyEnables>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:952,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:955,1
    - Dst: ipmi::transport::responseParamNotSupported
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:958,1
    - Dst: ipmi::transport::responseParamNotSupported
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:960,1
    - Dst: ipmi::transport::responseParamReadOnly
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:965,1
    - Dst: unpack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:974,1
    - Dst: responseReqDataLenInvalid
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:976,1
    - Dst: ipmi::transport::unpackT
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:978,1
    - Dst: unpack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:979,1
    - Dst: responseReqDataLenInvalid
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:981,1
    - Dst: ipmi::transport::unpackFinal
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:983,1
    - Dst: responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:986,1
    - Dst: responseParmOutOfRange
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:993,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:995,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:999,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1001,1
    - Dst: ipmi::transport::responseParamReadOnly
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1006,1
    - Dst: unpack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1012,1
    - Dst: responseReqDataLenInvalid
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1014,1
    - Dst: ipmi::transport::unpackFinal
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1016,1
    - Dst: std::bitset::any
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1019,1
    - Dst: ipmi::transport::responseParamNotSupported
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1021,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1025,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1026,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1027,1
    - Dst: ipmi::transport::unpackT
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1031,1
    - Dst: ipmi::transport::unpackFinal
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1032,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1033,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1034,1
    - Dst: ipmi::transport::unpackT
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1038,1
    - Dst: ipmi::transport::unpackFinal
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1039,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1040,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1041,1
    - Dst: unpack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1046,1
    - Dst: responseReqDataLenInvalid
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1048,1
    - Dst: ipmi::transport::unpackFinal
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1050,1
    - Dst: responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1053,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1055,1
    - Dst: ipmi::transport::unpackT
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1059,1
    - Dst: ipmi::transport::unpackFinal
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1060,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1062,1
    - Dst: unpack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1069,1
    - Dst: responseReqDataLenInvalid
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1071,1
    - Dst: ipmi::transport::unpackFinal
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1073,1
    - Dst: responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1077,1
    - Dst: getCipherConfigObject
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1081,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1085,1
    - Dst: response
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1090,1
    - Dst: ipmi::transport::setLanOem
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1097,1
    - Dst: ipmi::transport::responseParamNotSupported
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1101,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 229
    argCount: 5
    argNames:
    - ctx
    - channelBits
    - reserved1
    - parameter
    - ' req'
    argTypes:
    - Context::ptr
    - uint4_t
    - uint4_t
    - uint8_t
    - message::Payload
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1102
      start: 756
    functionDepth: 2
    functionLinenumber: 756
    functionLinenumberEnd: 1102
    functionName: ipmi::transport::setLanInt
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::transport::unpackT
    - static_cast<uint8_t>
    - ipmi::transport::responseParamNotSupported
    - ipmi::transport::responseParamReadOnly
    - static_cast<SetStatus>
    - std::bitset::any
    - ipmi::transport::responseParamSetLocked
    - ipmi::transport::isLanChannel
    - convertCurrentChannelNum
    - responseCommandNotAvailable
    - ipmi::transport::channelCall
    - ipmi::transport::unpackFinal
    - responseInvalidFieldRequest
    - stdplus::maskToPfx
    - isValidChannel
    - lg2::error
    - response
    - static_cast<LanParam>
    - ipmi::transport::getSetStatus
    - unpack
    - responseReqDataLenInvalid
    - responseSuccess
    - responseParmOutOfRange
    - ipmi::transport::setLanOem
    - getCipherConfigObject
    - static_cast<IPFamilyEnables>
    - static_cast<uint16_t>
    - static_cast<IPSrc>
    linkageType: ''
    returnType: RspType<>
    signature: "RspType<> setLanInt(Context::ptr ctx, uint4_t channelBits, uint4_t
      reserved1,\n                    uint8_t parameter, message::Payload& req)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::setLanInt
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1109,1
    - Dst: response
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1113,1
    - Dst: name
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1117,1
    - Dst: responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1119,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 5
    argNames:
    - ctx
    - channelBits
    - reserved1
    - parameter
    - ' req'
    argTypes:
    - Context::ptr
    - uint4_t
    - uint4_t
    - uint8_t
    - message::Payload
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1123
      start: 1104
    functionDepth: 3
    functionLinenumber: 1104
    functionLinenumberEnd: 1123
    functionName: ipmi::transport::setLan
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::transport::setLanInt
    - responseInvalidFieldRequest
    - response
    - name
    linkageType: ''
    returnType: RspType<>
    signature: "RspType<> setLan(Context::ptr ctx, uint4_t channelBits, uint4_t reserved1,\n
      \                uint8_t parameter, message::Payload& req)"
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1131,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1135,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1135,1
    - Dst: convertCurrentChannelNum
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1138,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1139,1
    - Dst: isValidChannel
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1140,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1142,1
    - Dst: responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1143,1
    - Dst: ipmi::transport::isLanChannel
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1146,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1148,1
    - Dst: responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1149,1
    - Dst: cipher::getCipherList
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1158,1
    - Dst: static_cast<LanParam>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1165,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1172,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1178,1
    - Dst: types::enum_cast<uint2_t>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1178,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1179,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1179,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1184,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1185,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1185,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1190,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1191,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1192,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1193,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1194,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1195,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1195,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1199,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1205,1
    - Dst: stdplus::raw::asView<char>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1205,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1206,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1206,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1210,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1213,1
    - Dst: types::enum_cast<uint4_t>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1213,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1214,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1214,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1218,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1219,1
    - Dst: stdplus::raw::asView<char>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1219,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1220,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1220,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1224,1
    - Dst: stdplus::pfxToMask<stdplus::In4Addr>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1230,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1231,1
    - Dst: stdplus::raw::asView<char>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1231,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1232,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1232,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1236,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1237,1
    - Dst: stdplus::raw::asView<char>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1237,1
    - Dst: auto::value_or
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1238,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1239,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1239,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1244,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1249,1
    - Dst: stdplus::raw::asView<char>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1249,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1250,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1250,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1254,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1263,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1264,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1264,1
    - Dst: getChannelSessionSupport
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1268,1
    - Dst: responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1271,1
    - Dst: responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1275,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1277,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1277,1
    - Dst: std::vector::size
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1277,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1278,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1278,1
    - Dst: getChannelSessionSupport
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1282,1
    - Dst: responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1285,1
    - Dst: responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1289,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1291,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1292,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1292,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1300,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1301,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1301,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1305,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1305,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1306,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1306,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1310,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1311,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1315,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1316,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1316,1
    - Dst: responseParmOutOfRange
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1322,1
    - Dst: ipmi::transport::getLanIPv6Address
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1324,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1325,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1325,1
    - Dst: responseParmOutOfRange
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1331,1
    - Dst: ipmi::transport::getLanIPv6Address
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1333,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1334,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1334,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1340,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1342,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1343,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1343,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1348,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1351,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1354,1
    - Dst: stdplus::raw::asView<char>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1354,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1355,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1355,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1360,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1365,1
    - Dst: stdplus::raw::asView<char>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1365,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1366,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1366,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1370,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1371,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1371,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1375,1
    - Dst: stdplus::raw::asView<char>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1375,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1376,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1376,1
    - Dst: getCipherConfigObject
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1383,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1388,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1389,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1389,1
    - Dst: response
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1393,1
    - Dst: ipmi::transport::getLanOem
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1400,1
    - Dst: ipmi::transport::responseParamNotSupported
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1403,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 178
    argCount: 7
    argNames:
    - ctx
    - channelBits
    - reserved
    - revOnly
    - parameter
    - set
    - block
    argTypes:
    - Context::ptr
    - uint4_t
    - uint3_t
    - bool
    - uint8_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1404
      start: 1125
    functionDepth: 3
    functionLinenumber: 1125
    functionLinenumberEnd: 1404
    functionName: ipmi::transport::getLan
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - ipmi::transport::responseParamNotSupported
    - getChannelSessionSupport
    - responseUnspecifiedError
    - ipmi::transport::isLanChannel
    - convertCurrentChannelNum
    - ipmi::transport::channelCall
    - cipher::getCipherList
    - types::enum_cast<uint4_t>
    - responseInvalidFieldRequest
    - isValidChannel
    - std::move
    - stdplus::raw::asView<char>
    - lg2::error
    - message::Payload::pack
    - response
    - static_cast<LanParam>
    - std::vector::size
    - responseSuccess
    - responseParmOutOfRange
    - ipmi::transport::getLanIPv6Address
    - ipmi::transport::getLanOem
    - getCipherConfigObject
    - stdplus::pfxToMask<stdplus::In4Addr>
    - at
    - auto::value_or
    - types::enum_cast<uint2_t>
    linkageType: ''
    returnType: RspType<message::Payload>
    signature: "RspType<message::Payload> getLan(Context::ptr ctx, uint4_t channelBits,\n
      \                                uint3_t reserved, bool revOnly,\n                                 uint8_t
      parameter, uint8_t set, uint8_t block)"
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: convertCurrentChannelNum
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1414,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1415,1
    - Dst: isValidChannel
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1417,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1419,1
    - Dst: responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1420,1
    - Dst: ipmi::getChannelName
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1423,1
    - Dst: auto::empty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1424,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1426,1
    - Dst: responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1428,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1434,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1436,1
    - Dst: responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1440,1
    - Dst: static_cast<SolConfParam>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1443,1
    - Dst: unpack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1448,1
    - Dst: fullyUnpacked
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1448,1
    - Dst: responseReqDataLenInvalid
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1450,1
    - Dst: ipmi::setDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1453,1
    - Dst: responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1456,1
    - Dst: unpack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1465,1
    - Dst: fullyUnpacked
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1465,1
    - Dst: responseReqDataLenInvalid
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1467,1
    - Dst: ipmi::setDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1470,1
    - Dst: responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1473,1
    - Dst: unpack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1484,1
    - Dst: fullyUnpacked
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1486,1
    - Dst: responseReqDataLenInvalid
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1488,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1491,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1492,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1493,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1495,1
    - Dst: ipmi::setDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1498,1
    - Dst: responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1501,1
    - Dst: ipmi::setDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1504,1
    - Dst: responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1508,1
    - Dst: ipmi::setDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1511,1
    - Dst: responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1515,1
    - Dst: unpack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1523,1
    - Dst: fullyUnpacked
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1523,1
    - Dst: responseReqDataLenInvalid
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1525,1
    - Dst: responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1530,1
    - Dst: ipmi::setDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1533,1
    - Dst: responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1537,1
    - Dst: ipmi::setDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1540,1
    - Dst: responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1543,1
    - Dst: unpack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1553,1
    - Dst: fullyUnpacked
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1554,1
    - Dst: responseReqDataLenInvalid
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1556,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1559,1
    - Dst: ipmi::setDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1560,1
    - Dst: responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1563,1
    - Dst: ipmi::setDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1566,1
    - Dst: responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1570,1
    - Dst: ipmi::transport::responseWriteReadParameter
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1576,1
    - Dst: ipmi::transport::responseParamNotSupported
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1582,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1584,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 87
    argCount: 4
    argNames:
    - ctx
    - channelBits
    - parameter
    - ' req'
    argTypes:
    - Context::ptr
    - uint4_t
    - uint8_t
    - message::Payload
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1585
      start: 1410
    functionDepth: 1
    functionLinenumber: 1410
    functionLinenumberEnd: 1585
    functionName: ipmi::transport::setSolConfParams
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::setDbusProperty
    - ipmi::getService
    - ipmi::transport::responseWriteReadParameter
    - responseUnspecifiedError
    - responseInvalidFieldRequest
    - ipmi::getChannelName
    - auto::empty
    - isValidChannel
    - convertCurrentChannelNum
    - static_cast<uint8_t>
    - unpack
    - responseReqDataLenInvalid
    - ipmi::responseInvalidFieldRequest
    - ipmi::transport::responseParamNotSupported
    - fullyUnpacked
    - static_cast<SolConfParam>
    - responseSuccess
    - lg2::error
    linkageType: ''
    returnType: RspType<>
    signature: "RspType<> setSolConfParams(Context::ptr ctx, uint4_t channelBits,\n
      \                          uint4_t /*reserved*/, uint8_t parameter,\n                           message::Payload&
      req)"
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1593,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1596,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1596,1
    - Dst: convertCurrentChannelNum
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1599,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1600,1
    - Dst: isValidChannel
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1602,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1604,1
    - Dst: responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1605,1
    - Dst: ipmi::getChannelName
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1608,1
    - Dst: auto::empty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1609,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1611,1
    - Dst: responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1613,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1619,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1621,1
    - Dst: responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1625,1
    - Dst: static_cast<SolConfParam>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1628,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1633,1
    - Dst: responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1636,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1638,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1639,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1639,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1644,1
    - Dst: responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1647,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1649,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1650,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1650,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1659,1
    - Dst: responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1662,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1665,1
    - Dst: responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1669,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1672,1
    - Dst: responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1676,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1678,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1679,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1679,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1685,1
    - Dst: responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1689,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1692,1
    - Dst: responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1695,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1697,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1698,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1698,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1706,1
    - Dst: responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1709,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1712,1
    - Dst: responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1716,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1718,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1719,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1719,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1724,1
    - Dst: static_cast<uint16_t>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1724,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1725,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1725,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1729,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1730,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1730,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1736,1
    - Dst: ipmi::transport::responseParamNotSupported
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1741,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1763,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1764,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1764,1
    - Dst: ipmi::transport::responseParamNotSupported
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1768,1
    - Dst: ipmi::transport::responseParamNotSupported
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1771,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 104
    argCount: 4
    argNames:
    - ctx
    - channelBits
    - revOnly
    - parameter
    argTypes:
    - Context::ptr
    - uint4_t
    - bool
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1772
      start: 1587
    functionDepth: 1
    functionLinenumber: 1587
    functionLinenumberEnd: 1772
    functionName: ipmi::transport::getSolConfParams
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 0
    functionsReached:
    - message::Payload::pack
    - ipmi::getService
    - responseUnspecifiedError
    - responseInvalidFieldRequest
    - responseSuccess
    - ipmi::getChannelName
    - convertCurrentChannelNum
    - isValidChannel
    - static_cast<uint8_t>
    - auto::empty
    - static_cast<SolConfParam>
    - ipmi::transport::responseParamNotSupported
    - ipmi::getDbusProperty
    - std::move
    - static_cast<uint16_t>
    - lg2::error
    linkageType: ''
    returnType: RspType<message::Payload>
    signature: "RspType<message::Payload> getSolConfParams(\n    Context::ptr ctx,
      uint4_t channelBits, uint3_t /*reserved*/, bool revOnly,\n    uint8_t parameter,
      uint8_t /*set*/, uint8_t /*block*/)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: response
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: ipmi::transport::responseParamNotSupported
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 6
    functionsReached:
    - response
    linkageType: ''
    returnType: auto
    signature: auto responseParamNotSupported()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: response
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: ipmi::transport::responseParamSetLocked
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 1
    functionsReached:
    - response
    linkageType: ''
    returnType: auto
    signature: auto responseParamSetLocked()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: response
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: ipmi::transport::responseParamReadOnly
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 1
    functionsReached:
    - response
    linkageType: ''
    returnType: auto
    signature: auto responseParamReadOnly()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: response
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: ipmi::transport::responseWriteReadParameter
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 1
    functionsReached:
    - response
    linkageType: ''
    returnType: auto
    signature: auto responseWriteReadParameter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:94,1
    - Dst: std::string_view::size
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:95,1
    - Dst: std::string_view::size
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:96,1
    - Dst: std::string_view::substr
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:96,1
    - Dst: std::string_view::size
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:97,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - ifname
    - path
    argTypes:
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 100
    functionName: ipmi::transport::ifnameInPath
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 2
    functionsReached:
    - std::string_view::size
    - size
    - std::string_view::substr
    linkageType: ''
    returnType: bool
    signature: bool ifnameInPath(std::string_view ifname, std::string_view path)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: getChannelName
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:105,1
    - Dst: auto::empty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:106,1
    - Dst: ipmi::getSubTree
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:114,1
    - Dst: ipmi::transport::ifnameInPath
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:119,1
    - Dst: ChannelParams::service::empty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:138,1
    - Dst: ChannelParams::ifPath::empty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:142,1
    - Dst: ChannelParams::logicalPath::empty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:146,1
    - Dst: ChannelParams::ifPath::empty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:154,1
    - Dst: ChannelParams::logicalPath::empty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:159,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:165,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 34
    argCount: 2
    argNames:
    - ' bus'
    - channel
    argTypes:
    - sdbusplus::bus_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 167
    functionName: ipmi::transport::maybeGetChannelParams
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 1
    functionsReached:
    - ChannelParams::ifPath::empty
    - ChannelParams::service::empty
    - ipmi::transport::ifnameInPath
    - auto::empty
    - ipmi::getSubTree
    - getChannelName
    - ChannelParams::logicalPath::empty
    - std::move
    linkageType: ''
    returnType: std::optional<ChannelParams>
    signature: "std::optional<ChannelParams> maybeGetChannelParams(sdbusplus::bus_t&
      bus,\n                                                   uint8_t channel)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::maybeGetChannelParams
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:171,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:174,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:176,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' bus'
    - channel
    argTypes:
    - sdbusplus::bus_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 169
    functionDepth: 2
    functionLinenumber: 169
    functionLinenumberEnd: 179
    functionName: ipmi::transport::getChannelParams
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 4
    functionsReached:
    - ipmi::transport::maybeGetChannelParams
    - std::move
    - lg2::error
    - elog<InternalFailure>
    linkageType: ''
    returnType: ChannelParams
    signature: ChannelParams getChannelParams(sdbusplus::bus_t& bus, uint8_t channel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<T>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:187,1
    - Dst: getDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' bus'
    - ' params'
    - ' prop'
    argTypes:
    - sdbusplus::bus_t
    - ChannelParams
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 189
    functionName: ipmi::transport::getEthProp
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 1
    functionsReached:
    - std::get<T>
    - getDbusProperty
    linkageType: ''
    returnType: T
    signature: "T getEthProp(sdbusplus::bus_t& bus, const ChannelParams& params,\n
      \                   const std::string& prop)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' bus'
    - ' params'
    - ' prop'
    - ' t'
    argTypes:
    - sdbusplus::bus_t
    - ChannelParams
    - std::string
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 196
    functionName: ipmi::transport::setEthProp
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 2
    functionsReached:
    - setDbusProperty
    linkageType: ''
    returnType: void
    signature: "void setEthProp(sdbusplus::bus_t& bus, const ChannelParams& params,\n
      \                      const std::string& prop, const T& t)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:207,1
    - Dst: stdplus::fromStr<stdplus::EtherAddr>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:209,1
    - Dst: std::get<std::string>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' bus'
    - ' params'
    argTypes:
    - sdbusplus::bus_t
    - ChannelParams
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 210
    functionName: ipmi::transport::getMACProperty
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 0
    functionsReached:
    - stdplus::fromStr<stdplus::EtherAddr>
    - std::get<std::string>
    - getDbusProperty
    linkageType: ''
    returnType: stdplus::EtherAddr
    signature: "stdplus::EtherAddr getMACProperty(sdbusplus::bus_t& bus,\n                                  const
      ChannelParams& params)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stdplus::toStr
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:221,1
    - Dst: setDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' bus'
    - ' params'
    - mac
    argTypes:
    - sdbusplus::bus_t
    - ChannelParams
    - stdplus::EtherAddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 224
    functionName: ipmi::transport::setMACProperty
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 0
    functionsReached:
    - setDbusProperty
    - stdplus::toStr
    linkageType: ''
    returnType: void
    signature: "void setMACProperty(sdbusplus::bus_t& bus, const ChannelParams& params,\n
      \                   stdplus::EtherAddr mac)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:229,1
    - Dst: new_method_call
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:235,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:235,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:235,1
    - Dst: call_noreply
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:237,1
    - Dst: strcmp
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:242,1
    - Dst: name
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:242,1
    - Dst: strcmp
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:244,1
    - Dst: name
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:244,1
    - Dst: strcmp
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:245,1
    - Dst: name
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:245,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - ' bus'
    - ' service'
    - ' path'
    argTypes:
    - sdbusplus::bus_t
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 252
    functionName: ipmi::transport::deleteObjectIfExists
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 8
    functionsReached:
    - strcmp
    - c_str
    - name
    - empty
    - new_method_call
    - call_noreply
    linkageType: ''
    returnType: void
    signature: "void deleteObjectIfExists(sdbusplus::bus_t& bus, const std::string&
      service,\n                          const std::string& path)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_method_call
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:268,1
    - Dst: service::c_str
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:268,1
    - Dst: logicalPath::c_str
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:268,1
    - Dst: sdbusplus::common::xyz::openbmc_project::network::convertForMessage
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:271,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:274,1
    - Dst: tsh
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:274,1
    - Dst: call_noreply
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' bus'
    - ' params'
    - address
    - prefix
    argTypes:
    - sdbusplus::bus_t
    - ChannelParams
    - typename AddrFamily<family>::addr
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 276
    functionName: ipmi::transport::createIfAddr
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 3
    functionsReached:
    - logicalPath::c_str
    - service::c_str
    - auto::append
    - sdbusplus::common::xyz::openbmc_project::network::convertForMessage
    - new_method_call
    - tsh
    - call_noreply
    linkageType: ''
    returnType: void
    signature: "void createIfAddr(sdbusplus::bus_t& bus, const ChannelParams& params,\n
      \                 typename AddrFamily<family>::addr address, uint8_t prefix)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:291,1
    - Dst: getDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:292,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:299,1
    - Dst: ipmi::transport::getIfAddr
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:305,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - ' bus'
    - ' params'
    argTypes:
    - sdbusplus::bus_t
    - ChannelParams
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 284
    functionDepth: 2
    functionLinenumber: 284
    functionLinenumberEnd: 316
    functionName: ipmi::transport::getIfAddr4
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 1
    functionsReached:
    - ipmi::transport::getIfAddr
    - lg2::error
    - getDbusProperty
    - std::get<bool>
    linkageType: ''
    returnType: auto
    signature: auto getIfAddr4(sdbusplus::bus_t& bus, const ChannelParams& params)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::getIfAddr4
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:329,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:332,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:333,1
    - Dst: ipmi::transport::deleteObjectIfExists
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:341,1
    - Dst: std::optional<stdplus::In4Addr>::value_or
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:343,1
    - Dst: ipmi::transport::createIfAddr
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:346,1
    - Dst: std::optional<uint8_t>::value_or
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:347,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - ' bus'
    - ' params'
    - address
    - prefix
    argTypes:
    - sdbusplus::bus_t
    - ChannelParams
    - std::optional<stdplus::In4Addr>
    - std::optional<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 325
    functionDepth: 3
    functionLinenumber: 325
    functionLinenumberEnd: 349
    functionName: ipmi::transport::reconfigureIfAddr4
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 0
    functionsReached:
    - std::optional<stdplus::In4Addr>::value_or
    - ipmi::transport::createIfAddr
    - std::optional<uint8_t>::value_or
    - ipmi::transport::getIfAddr4
    - ipmi::transport::deleteObjectIfExists
    - elog<InternalFailure>
    - lg2::error
    linkageType: ''
    returnType: void
    signature: "void reconfigureIfAddr4(sdbusplus::bus_t& bus, const ChannelParams&
      params,\n                        std::optional<stdplus::In4Addr> address,\n
      \                       std::optional<uint8_t> prefix)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::getGatewayProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:356,1
    - Dst: ipmi::transport::findStaticNeighbor
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:362,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' bus'
    - ' params'
    - ' neighbors'
    argTypes:
    - sdbusplus::bus_t
    - ChannelParams
    - ObjectLookupCache
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 363
    functionName: ipmi::transport::findGatewayNeighbor
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 2
    functionsReached:
    - ipmi::transport::findStaticNeighbor
    - ipmi::transport::getGatewayProperty
    linkageType: ''
    returnType: std::optional<IfNeigh<family>>
    signature: "std::optional<IfNeigh<family>> findGatewayNeighbor(sdbusplus::bus_t&
      bus,\n                                                   const ChannelParams&
      params,\n                                                   ObjectLookupCache&
      neighbors)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::findGatewayNeighbor
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' bus'
    - ' params'
    argTypes:
    - sdbusplus::bus_t
    - ChannelParams
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 366
    functionDepth: 2
    functionLinenumber: 366
    functionLinenumberEnd: 371
    functionName: ipmi::transport::getGatewayNeighbor
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::transport::findGatewayNeighbor
    linkageType: ''
    returnType: std::optional<IfNeigh<family>>
    signature: "std::optional<IfNeigh<family>> getGatewayNeighbor(sdbusplus::bus_t&
      bus,\n                                                  const ChannelParams&
      params)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::getGatewayProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:377,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:380,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:381,1
    - Dst: ipmi::transport::findStaticNeighbor
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:386,1
    - Dst: ipmi::transport::deleteObjectIfExists
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:389,1
    - Dst: ipmi::transport::createNeighbor
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:392,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ' bus'
    - ' params'
    - mac
    argTypes:
    - sdbusplus::bus_t
    - ChannelParams
    - stdplus::EtherAddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 393
    functionName: ipmi::transport::reconfigureGatewayMAC
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::transport::findStaticNeighbor
    - ipmi::transport::deleteObjectIfExists
    - elog<InternalFailure>
    - ipmi::transport::getGatewayProperty
    - lg2::error
    - ipmi::transport::createNeighbor
    linkageType: ''
    returnType: void
    signature: "void reconfigureGatewayMAC(sdbusplus::bus_t& bus, const ChannelParams&
      params,\n                           stdplus::EtherAddr mac)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::getIfAddr
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:404,1
    - Dst: ipmi::transport::deleteObjectIfExists
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:407,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ' bus'
    - ' params'
    - idx
    argTypes:
    - sdbusplus::bus_t
    - ChannelParams
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 401
    functionDepth: 2
    functionLinenumber: 401
    functionLinenumberEnd: 409
    functionName: ipmi::transport::deconfigureIfAddr6
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 1
    functionsReached:
    - ipmi::transport::getIfAddr
    - ipmi::transport::deleteObjectIfExists
    linkageType: ''
    returnType: void
    signature: "void deconfigureIfAddr6(sdbusplus::bus_t& bus, const ChannelParams&
      params,\n                        uint8_t idx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::deconfigureIfAddr6
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:422,1
    - Dst: ipmi::transport::createIfAddr
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - ' bus'
    - ' params'
    - idx
    - address
    - prefix
    argTypes:
    - sdbusplus::bus_t
    - ChannelParams
    - uint8_t
    - stdplus::In6Addr
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 419
    functionDepth: 3
    functionLinenumber: 419
    functionLinenumberEnd: 424
    functionName: ipmi::transport::reconfigureIfAddr6
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::transport::deconfigureIfAddr6
    - ipmi::transport::createIfAddr
    linkageType: ''
    returnType: void
    signature: "void reconfigureIfAddr6(sdbusplus::bus_t& bus, const ChannelParams&
      params,\n                        uint8_t idx, stdplus::In6Addr address, uint8_t
      prefix)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: "sdbusplus::common::xyz::openbmc_project::network::\n                convertForMessage"
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:443,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:445,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:448,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - origin
    argTypes:
    - IP::AddressOrigin
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 451
    functionName: ipmi::transport::originToSourceType
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 1
    functionsReached:
    - "sdbusplus::common::xyz::openbmc_project::network::\n                convertForMessage"
    - lg2::error
    - elog<InternalFailure>
    linkageType: ''
    returnType: IPv6Source
    signature: IPv6Source originToSourceType(IP::AddressOrigin origin)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:469,1
    - Dst: ipmi::transport::originToSourceType
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:472,1
    - Dst: pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:479,1
    - Dst: pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:480,1
    - Dst: types::enum_cast<uint4_t>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:480,1
    - Dst: pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:481,1
    - Dst: stdplus::raw::asView<char>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:481,1
    - Dst: pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:482,1
    - Dst: pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:483,1
    - Dst: types::enum_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:483,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 4
    argNames:
    - ' ret'
    - channel
    - set
    - ' origins'
    argTypes:
    - message::Payload
    - uint8_t
    - uint8_t
    - std::unordered_set<IP::AddressOrigin>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 460
    functionDepth: 2
    functionLinenumber: 460
    functionLinenumberEnd: 484
    functionName: ipmi::transport::getLanIPv6Address
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 1
    functionsReached:
    - types::enum_cast<uint4_t>
    - ipmi::transport::originToSourceType
    - ipmi::transport::channelCall
    - stdplus::raw::asView<char>
    - types::enum_cast<uint8_t>
    - pack
    linkageType: ''
    returnType: void
    signature: "void getLanIPv6Address(message::Payload& ret, uint8_t channel, uint8_t
      set,\n                       const std::unordered_set<IP::AddressOrigin>& origins)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::get<uint32_t>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:500,1
    - Dst: getDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:500,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:504,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:507,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' bus'
    - ' params'
    argTypes:
    - sdbusplus::bus_t
    - ChannelParams
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 510
    functionName: ipmi::transport::getVLANProperty
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 0
    functionsReached:
    - std::get<uint32_t>
    - lg2::error
    - elog<InternalFailure>
    - getDbusProperty
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t getVLANProperty(sdbusplus::bus_t& bus, const ChannelParams&
      params)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getSubTree
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:521,1
    - Dst: ipmi::transport::ifnameInPath
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:525,1
    - Dst: ipmi::transport::deleteObjectIfExists
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:531,1
    - Dst: ipmi::transport::setEthProp
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:541,1
    - Dst: ipmi::transport::setEthProp
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:542,1
    - Dst: ipmi::transport::setEthProp
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:543,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - ' bus'
    - ' params'
    argTypes:
    - sdbusplus::bus_t
    - ChannelParams
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 517
    functionDepth: 1
    functionLinenumber: 517
    functionLinenumberEnd: 544
    functionName: ipmi::transport::deconfigureChannel
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 1
    functionsReached:
    - ipmi::transport::ifnameInPath
    - ipmi::transport::deleteObjectIfExists
    - ipmi::getSubTree
    - ipmi::transport::setEthProp
    linkageType: ''
    returnType: void
    signature: void deconfigureChannel(sdbusplus::bus_t& bus, ChannelParams& params)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: new_method_call
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:559,1
    - Dst: service::c_str
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:559,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:559,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:561,1
    - Dst: static_cast<uint32_t>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:561,1
    - Dst: call
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:562,1
    - Dst: auto::unpack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:563,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:565,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' bus'
    - ' params'
    - vlan
    argTypes:
    - sdbusplus::bus_t
    - ChannelParams
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 566
    functionName: ipmi::transport::createVLAN
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 1
    functionsReached:
    - service::c_str
    - auto::unpack
    - call
    - auto::append
    - c_str
    - static_cast<uint32_t>
    - new_method_call
    - std::move
    linkageType: ''
    returnType: void
    signature: void createVLAN(sdbusplus::bus_t& bus, ChannelParams& params, uint16_t
      vlan)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::getEthProp
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:583,1
    - Dst: ipmi::transport::getEthProp
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:584,1
    - Dst: ipmi::transport::getEthProp
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:585,1
    - Dst: ipmi::transport::findIfAddr
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:587,1
    - Dst: ipmi::transport::findIfAddr
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:592,1
    - Dst: std::vector::push_back
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:597,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:597,1
    - Dst: ipmi::transport::findGatewayNeighbor
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:600,1
    - Dst: ipmi::transport::findGatewayNeighbor
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:601,1
    - Dst: ipmi::transport::deconfigureChannel
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:605,1
    - Dst: ipmi::transport::createVLAN
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:606,1
    - Dst: ipmi::transport::setEthProp
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:609,1
    - Dst: ipmi::transport::setEthProp
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:610,1
    - Dst: ipmi::transport::setEthProp
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:611,1
    - Dst: ipmi::transport::setEthProp
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:613,1
    - Dst: ipmi::transport::setEthProp
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:614,1
    - Dst: ipmi::transport::setEthProp
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:615,1
    - Dst: ipmi::transport::createIfAddr
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:618,1
    - Dst: ipmi::transport::createIfAddr
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:622,1
    - Dst: ipmi::transport::createNeighbor
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:626,1
    - Dst: ipmi::transport::createNeighbor
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:630,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 3
    argNames:
    - ' bus'
    - ' params'
    - vlan
    argTypes:
    - sdbusplus::bus_t
    - ChannelParams
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 574
    functionDepth: 2
    functionLinenumber: 574
    functionLinenumberEnd: 632
    functionName: ipmi::transport::reconfigureVLAN
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - ipmi::transport::findIfAddr
    - ipmi::transport::getEthProp
    - ipmi::transport::setEthProp
    - ipmi::transport::createVLAN
    - ipmi::transport::findGatewayNeighbor
    - std::move
    - ipmi::transport::deconfigureChannel
    - ipmi::transport::createIfAddr
    - ipmi::transport::createNeighbor
    linkageType: ''
    returnType: void
    signature: "void reconfigureVLAN(sdbusplus::bus_t& bus, ChannelParams& params,\n
      \                    uint16_t vlan)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:652,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:653,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - channel
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 658
    functionName: ipmi::transport::getSetStatus
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 1
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: SetStatus
    signature: SetStatus & getSetStatus(uint8_t channel)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unpack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:665,1
    - Dst: stdplus::raw::copyFrom<T>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:669,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' req'
    argTypes:
    - message::Payload
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 662
    functionDepth: 0
    functionLinenumber: 662
    functionLinenumberEnd: 670
    functionName: ipmi::transport::unpackT
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 1
    functionsReached:
    - stdplus::raw::copyFrom<T>
    - unpack
    linkageType: ''
    returnType: T
    signature: T unpackT(message::Payload& req)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fullyUnpacked
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:675,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' req'
    argTypes:
    - message::Payload
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 673
    functionDepth: 0
    functionLinenumber: 673
    functionLinenumberEnd: 679
    functionName: ipmi::transport::unpackFinal
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 1
    functionsReached:
    - fullyUnpacked
    linkageType: ''
    returnType: void
    signature: void unpackFinal(message::Payload& req)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::responseParamNotSupported
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:726,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' req'
    argTypes:
    - message::Payload
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 723
    functionDepth: 1
    functionLinenumber: 723
    functionLinenumberEnd: 727
    functionName: ipmi::transport::setLanOem
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 1
    functionsReached:
    - ipmi::transport::responseParamNotSupported
    linkageType: ''
    returnType: RspType<>
    signature: RspType<> setLanOem(uint8_t, uint8_t, message::Payload& req)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::responseParamNotSupported
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:731,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 729
    functionDepth: 1
    functionLinenumber: 729
    functionLinenumberEnd: 732
    functionName: ipmi::transport::getLanOem
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 1
    functionsReached:
    - ipmi::transport::responseParamNotSupported
    linkageType: ''
    returnType: RspType<message::Payload>
    signature: RspType<message::Payload> getLanOem(uint8_t, uint8_t, uint8_t, uint8_t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getChannelInfo
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:746,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:753,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - channel
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 743
    functionDepth: 0
    functionLinenumber: 743
    functionLinenumberEnd: 754
    functionName: ipmi::transport::isLanChannel
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 2
    functionsReached:
    - getChannelInfo
    - static_cast<uint8_t>
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> isLanChannel(uint8_t channel)
  - BBCount: 64
    BranchProfiles: []
    Callsites:
    - Dst: convertCurrentChannelNum
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:759,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:760,1
    - Dst: isValidChannel
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:761,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:763,1
    - Dst: responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:765,1
    - Dst: ipmi::transport::isLanChannel
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:768,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:770,1
    - Dst: responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:771,1
    - Dst: static_cast<LanParam>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:774,1
    - Dst: unpack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:780,1
    - Dst: responseReqDataLenInvalid
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:782,1
    - Dst: ipmi::transport::unpackFinal
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:784,1
    - Dst: responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:787,1
    - Dst: static_cast<SetStatus>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:789,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:789,1
    - Dst: ipmi::transport::getSetStatus
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:794,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:795,1
    - Dst: ipmi::transport::getSetStatus
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:799,1
    - Dst: ipmi::transport::responseParamSetLocked
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:802,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:805,1
    - Dst: ipmi::transport::getSetStatus
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:808,1
    - Dst: responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:810,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:812,1
    - Dst: ipmi::transport::responseParamNotSupported
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:814,1
    - Dst: ipmi::transport::responseParamReadOnly
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:819,1
    - Dst: ipmi::transport::responseParamReadOnly
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:824,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:828,1
    - Dst: responseCommandNotAvailable
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:830,1
    - Dst: ipmi::transport::unpackT
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:832,1
    - Dst: ipmi::transport::unpackFinal
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:833,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:834,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:835,1
    - Dst: unpack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:841,1
    - Dst: responseReqDataLenInvalid
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:843,1
    - Dst: ipmi::transport::unpackFinal
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:845,1
    - Dst: responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:848,1
    - Dst: static_cast<IPSrc>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:850,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:850,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:857,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:858,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:861,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:862,1
    - Dst: responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:865,1
    - Dst: ipmi::transport::responseParamNotSupported
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:867,1
    - Dst: ipmi::transport::unpackT
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:871,1
    - Dst: ipmi::transport::unpackFinal
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:872,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:873,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:874,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:878,1
    - Dst: responseCommandNotAvailable
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:880,1
    - Dst: stdplus::maskToPfx
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:882,1
    - Dst: ipmi::transport::unpackT
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:882,1
    - Dst: ipmi::transport::unpackFinal
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:883,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:884,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:885,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:889,1
    - Dst: responseCommandNotAvailable
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:891,1
    - Dst: ipmi::transport::unpackT
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:893,1
    - Dst: ipmi::transport::unpackFinal
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:894,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:895,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:896,1
    - Dst: ipmi::transport::unpackT
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:900,1
    - Dst: ipmi::transport::unpackFinal
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:901,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:902,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:903,1
    - Dst: unpack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:911,1
    - Dst: responseReqDataLenInvalid
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:913,1
    - Dst: ipmi::transport::unpackFinal
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:915,1
    - Dst: responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:919,1
    - Dst: static_cast<uint16_t>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:922,1
    - Dst: responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:931,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:934,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:935,1
    - Dst: ipmi::transport::responseParamReadOnly
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:942,1
    - Dst: unpack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:947,1
    - Dst: responseReqDataLenInvalid
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:949,1
    - Dst: ipmi::transport::unpackFinal
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:951,1
    - Dst: static_cast<IPFamilyEnables>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:952,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:955,1
    - Dst: ipmi::transport::responseParamNotSupported
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:958,1
    - Dst: ipmi::transport::responseParamNotSupported
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:960,1
    - Dst: ipmi::transport::responseParamReadOnly
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:965,1
    - Dst: unpack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:974,1
    - Dst: responseReqDataLenInvalid
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:976,1
    - Dst: ipmi::transport::unpackT
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:978,1
    - Dst: unpack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:979,1
    - Dst: responseReqDataLenInvalid
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:981,1
    - Dst: ipmi::transport::unpackFinal
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:983,1
    - Dst: responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:986,1
    - Dst: responseParmOutOfRange
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:993,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:995,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:999,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1001,1
    - Dst: ipmi::transport::responseParamReadOnly
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1006,1
    - Dst: unpack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1012,1
    - Dst: responseReqDataLenInvalid
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1014,1
    - Dst: ipmi::transport::unpackFinal
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1016,1
    - Dst: std::bitset::any
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1019,1
    - Dst: ipmi::transport::responseParamNotSupported
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1021,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1025,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1026,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1027,1
    - Dst: ipmi::transport::unpackT
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1031,1
    - Dst: ipmi::transport::unpackFinal
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1032,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1033,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1034,1
    - Dst: ipmi::transport::unpackT
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1038,1
    - Dst: ipmi::transport::unpackFinal
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1039,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1040,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1041,1
    - Dst: unpack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1046,1
    - Dst: responseReqDataLenInvalid
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1048,1
    - Dst: ipmi::transport::unpackFinal
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1050,1
    - Dst: responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1053,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1055,1
    - Dst: ipmi::transport::unpackT
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1059,1
    - Dst: ipmi::transport::unpackFinal
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1060,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1062,1
    - Dst: unpack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1069,1
    - Dst: responseReqDataLenInvalid
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1071,1
    - Dst: ipmi::transport::unpackFinal
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1073,1
    - Dst: responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1077,1
    - Dst: getCipherConfigObject
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1081,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1085,1
    - Dst: response
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1090,1
    - Dst: ipmi::transport::setLanOem
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1097,1
    - Dst: ipmi::transport::responseParamNotSupported
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1101,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 229
    argCount: 5
    argNames:
    - ctx
    - channelBits
    - reserved1
    - parameter
    - ' req'
    argTypes:
    - Context::ptr
    - uint4_t
    - uint4_t
    - uint8_t
    - message::Payload
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1102
      start: 756
    functionDepth: 2
    functionLinenumber: 756
    functionLinenumberEnd: 1102
    functionName: ipmi::transport::setLanInt
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 1
    functionsReached:
    - ipmi::transport::unpackT
    - static_cast<uint8_t>
    - ipmi::transport::responseParamNotSupported
    - ipmi::transport::responseParamReadOnly
    - static_cast<SetStatus>
    - std::bitset::any
    - ipmi::transport::responseParamSetLocked
    - ipmi::transport::isLanChannel
    - convertCurrentChannelNum
    - responseCommandNotAvailable
    - ipmi::transport::channelCall
    - ipmi::transport::unpackFinal
    - responseInvalidFieldRequest
    - stdplus::maskToPfx
    - isValidChannel
    - lg2::error
    - response
    - static_cast<LanParam>
    - ipmi::transport::getSetStatus
    - unpack
    - responseReqDataLenInvalid
    - responseSuccess
    - responseParmOutOfRange
    - ipmi::transport::setLanOem
    - getCipherConfigObject
    - static_cast<IPFamilyEnables>
    - static_cast<uint16_t>
    - static_cast<IPSrc>
    linkageType: ''
    returnType: RspType<>
    signature: "RspType<> setLanInt(Context::ptr ctx, uint4_t channelBits, uint4_t
      reserved1,\n                    uint8_t parameter, message::Payload& req)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::setLanInt
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1109,1
    - Dst: response
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1113,1
    - Dst: name
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1117,1
    - Dst: responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1119,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 5
    argNames:
    - ctx
    - channelBits
    - reserved1
    - parameter
    - ' req'
    argTypes:
    - Context::ptr
    - uint4_t
    - uint4_t
    - uint8_t
    - message::Payload
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1123
      start: 1104
    functionDepth: 3
    functionLinenumber: 1104
    functionLinenumberEnd: 1123
    functionName: ipmi::transport::setLan
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::transport::setLanInt
    - responseInvalidFieldRequest
    - response
    - name
    linkageType: ''
    returnType: RspType<>
    signature: "RspType<> setLan(Context::ptr ctx, uint4_t channelBits, uint4_t reserved1,\n
      \                uint8_t parameter, message::Payload& req)"
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1131,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1135,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1135,1
    - Dst: convertCurrentChannelNum
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1138,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1139,1
    - Dst: isValidChannel
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1140,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1142,1
    - Dst: responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1143,1
    - Dst: ipmi::transport::isLanChannel
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1146,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1148,1
    - Dst: responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1149,1
    - Dst: cipher::getCipherList
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1158,1
    - Dst: static_cast<LanParam>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1165,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1172,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1178,1
    - Dst: types::enum_cast<uint2_t>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1178,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1179,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1179,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1184,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1185,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1185,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1190,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1191,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1192,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1193,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1194,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1195,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1195,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1199,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1205,1
    - Dst: stdplus::raw::asView<char>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1205,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1206,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1206,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1210,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1213,1
    - Dst: types::enum_cast<uint4_t>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1213,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1214,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1214,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1218,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1219,1
    - Dst: stdplus::raw::asView<char>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1219,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1220,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1220,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1224,1
    - Dst: stdplus::pfxToMask<stdplus::In4Addr>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1230,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1231,1
    - Dst: stdplus::raw::asView<char>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1231,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1232,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1232,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1236,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1237,1
    - Dst: stdplus::raw::asView<char>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1237,1
    - Dst: auto::value_or
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1238,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1239,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1239,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1244,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1249,1
    - Dst: stdplus::raw::asView<char>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1249,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1250,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1250,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1254,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1263,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1264,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1264,1
    - Dst: getChannelSessionSupport
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1268,1
    - Dst: responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1271,1
    - Dst: responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1275,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1277,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1277,1
    - Dst: std::vector::size
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1277,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1278,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1278,1
    - Dst: getChannelSessionSupport
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1282,1
    - Dst: responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1285,1
    - Dst: responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1289,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1291,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1292,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1292,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1300,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1301,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1301,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1305,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1305,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1306,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1306,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1310,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1311,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1315,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1316,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1316,1
    - Dst: responseParmOutOfRange
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1322,1
    - Dst: ipmi::transport::getLanIPv6Address
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1324,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1325,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1325,1
    - Dst: responseParmOutOfRange
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1331,1
    - Dst: ipmi::transport::getLanIPv6Address
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1333,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1334,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1334,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1340,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1342,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1343,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1343,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1348,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1351,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1354,1
    - Dst: stdplus::raw::asView<char>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1354,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1355,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1355,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1360,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1365,1
    - Dst: stdplus::raw::asView<char>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1365,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1366,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1366,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1370,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1371,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1371,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1375,1
    - Dst: stdplus::raw::asView<char>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1375,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1376,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1376,1
    - Dst: getCipherConfigObject
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1383,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1388,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1389,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1389,1
    - Dst: response
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1393,1
    - Dst: ipmi::transport::getLanOem
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1400,1
    - Dst: ipmi::transport::responseParamNotSupported
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1403,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 178
    argCount: 7
    argNames:
    - ctx
    - channelBits
    - reserved
    - revOnly
    - parameter
    - set
    - block
    argTypes:
    - Context::ptr
    - uint4_t
    - uint3_t
    - bool
    - uint8_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1404
      start: 1125
    functionDepth: 3
    functionLinenumber: 1125
    functionLinenumberEnd: 1404
    functionName: ipmi::transport::getLan
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - ipmi::transport::responseParamNotSupported
    - getChannelSessionSupport
    - responseUnspecifiedError
    - ipmi::transport::isLanChannel
    - convertCurrentChannelNum
    - ipmi::transport::channelCall
    - cipher::getCipherList
    - types::enum_cast<uint4_t>
    - responseInvalidFieldRequest
    - isValidChannel
    - std::move
    - stdplus::raw::asView<char>
    - lg2::error
    - message::Payload::pack
    - response
    - static_cast<LanParam>
    - std::vector::size
    - responseSuccess
    - responseParmOutOfRange
    - ipmi::transport::getLanIPv6Address
    - ipmi::transport::getLanOem
    - getCipherConfigObject
    - stdplus::pfxToMask<stdplus::In4Addr>
    - at
    - auto::value_or
    - types::enum_cast<uint2_t>
    linkageType: ''
    returnType: RspType<message::Payload>
    signature: "RspType<message::Payload> getLan(Context::ptr ctx, uint4_t channelBits,\n
      \                                uint3_t reserved, bool revOnly,\n                                 uint8_t
      parameter, uint8_t set, uint8_t block)"
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: convertCurrentChannelNum
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1414,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1415,1
    - Dst: isValidChannel
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1417,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1419,1
    - Dst: responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1420,1
    - Dst: ipmi::getChannelName
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1423,1
    - Dst: auto::empty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1424,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1426,1
    - Dst: responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1428,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1434,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1436,1
    - Dst: responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1440,1
    - Dst: static_cast<SolConfParam>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1443,1
    - Dst: unpack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1448,1
    - Dst: fullyUnpacked
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1448,1
    - Dst: responseReqDataLenInvalid
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1450,1
    - Dst: ipmi::setDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1453,1
    - Dst: responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1456,1
    - Dst: unpack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1465,1
    - Dst: fullyUnpacked
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1465,1
    - Dst: responseReqDataLenInvalid
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1467,1
    - Dst: ipmi::setDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1470,1
    - Dst: responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1473,1
    - Dst: unpack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1484,1
    - Dst: fullyUnpacked
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1486,1
    - Dst: responseReqDataLenInvalid
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1488,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1491,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1492,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1493,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1495,1
    - Dst: ipmi::setDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1498,1
    - Dst: responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1501,1
    - Dst: ipmi::setDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1504,1
    - Dst: responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1508,1
    - Dst: ipmi::setDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1511,1
    - Dst: responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1515,1
    - Dst: unpack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1523,1
    - Dst: fullyUnpacked
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1523,1
    - Dst: responseReqDataLenInvalid
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1525,1
    - Dst: responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1530,1
    - Dst: ipmi::setDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1533,1
    - Dst: responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1537,1
    - Dst: ipmi::setDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1540,1
    - Dst: responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1543,1
    - Dst: unpack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1553,1
    - Dst: fullyUnpacked
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1554,1
    - Dst: responseReqDataLenInvalid
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1556,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1559,1
    - Dst: ipmi::setDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1560,1
    - Dst: responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1563,1
    - Dst: ipmi::setDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1566,1
    - Dst: responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1570,1
    - Dst: ipmi::transport::responseWriteReadParameter
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1576,1
    - Dst: ipmi::transport::responseParamNotSupported
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1582,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1584,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 87
    argCount: 4
    argNames:
    - ctx
    - channelBits
    - parameter
    - ' req'
    argTypes:
    - Context::ptr
    - uint4_t
    - uint8_t
    - message::Payload
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1585
      start: 1410
    functionDepth: 1
    functionLinenumber: 1410
    functionLinenumberEnd: 1585
    functionName: ipmi::transport::setSolConfParams
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::setDbusProperty
    - ipmi::getService
    - ipmi::transport::responseWriteReadParameter
    - responseUnspecifiedError
    - responseInvalidFieldRequest
    - ipmi::getChannelName
    - auto::empty
    - isValidChannel
    - convertCurrentChannelNum
    - static_cast<uint8_t>
    - unpack
    - responseReqDataLenInvalid
    - ipmi::responseInvalidFieldRequest
    - ipmi::transport::responseParamNotSupported
    - fullyUnpacked
    - static_cast<SolConfParam>
    - responseSuccess
    - lg2::error
    linkageType: ''
    returnType: RspType<>
    signature: "RspType<> setSolConfParams(Context::ptr ctx, uint4_t channelBits,\n
      \                          uint4_t /*reserved*/, uint8_t parameter,\n                           message::Payload&
      req)"
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1593,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1596,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1596,1
    - Dst: convertCurrentChannelNum
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1599,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1600,1
    - Dst: isValidChannel
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1602,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1604,1
    - Dst: responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1605,1
    - Dst: ipmi::getChannelName
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1608,1
    - Dst: auto::empty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1609,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1611,1
    - Dst: responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1613,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1619,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1621,1
    - Dst: responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1625,1
    - Dst: static_cast<SolConfParam>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1628,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1633,1
    - Dst: responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1636,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1638,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1639,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1639,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1644,1
    - Dst: responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1647,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1649,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1650,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1650,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1659,1
    - Dst: responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1662,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1665,1
    - Dst: responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1669,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1672,1
    - Dst: responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1676,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1678,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1679,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1679,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1685,1
    - Dst: responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1689,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1692,1
    - Dst: responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1695,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1697,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1698,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1698,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1706,1
    - Dst: responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1709,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1712,1
    - Dst: responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1716,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1718,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1719,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1719,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1724,1
    - Dst: static_cast<uint16_t>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1724,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1725,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1725,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1729,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1730,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1730,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1736,1
    - Dst: ipmi::transport::responseParamNotSupported
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1741,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1763,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1764,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1764,1
    - Dst: ipmi::transport::responseParamNotSupported
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1768,1
    - Dst: ipmi::transport::responseParamNotSupported
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1771,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 104
    argCount: 4
    argNames:
    - ctx
    - channelBits
    - revOnly
    - parameter
    argTypes:
    - Context::ptr
    - uint4_t
    - bool
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1772
      start: 1587
    functionDepth: 1
    functionLinenumber: 1587
    functionLinenumberEnd: 1772
    functionName: ipmi::transport::getSolConfParams
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 0
    functionsReached:
    - message::Payload::pack
    - ipmi::getService
    - responseUnspecifiedError
    - responseInvalidFieldRequest
    - responseSuccess
    - ipmi::getChannelName
    - convertCurrentChannelNum
    - isValidChannel
    - static_cast<uint8_t>
    - auto::empty
    - static_cast<SolConfParam>
    - ipmi::transport::responseParamNotSupported
    - ipmi::getDbusProperty
    - std::move
    - static_cast<uint16_t>
    - lg2::error
    linkageType: ''
    returnType: RspType<message::Payload>
    signature: "RspType<message::Payload> getSolConfParams(\n    Context::ptr ctx,
      uint4_t channelBits, uint3_t /*reserved*/, bool revOnly,\n    uint8_t parameter,
      uint8_t /*set*/, uint8_t /*block*/)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: response
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: ipmi::transport::responseParamNotSupported
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 12
    functionsReached:
    - response
    linkageType: ''
    returnType: auto
    signature: auto responseParamNotSupported()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: response
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: ipmi::transport::responseParamSetLocked
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 2
    functionsReached:
    - response
    linkageType: ''
    returnType: auto
    signature: auto responseParamSetLocked()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: response
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: ipmi::transport::responseParamReadOnly
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 2
    functionsReached:
    - response
    linkageType: ''
    returnType: auto
    signature: auto responseParamReadOnly()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: response
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: ipmi::transport::responseWriteReadParameter
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 2
    functionsReached:
    - response
    linkageType: ''
    returnType: auto
    signature: auto responseWriteReadParameter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:94,1
    - Dst: std::string_view::size
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:95,1
    - Dst: std::string_view::size
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:96,1
    - Dst: std::string_view::substr
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:96,1
    - Dst: std::string_view::size
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:97,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - ifname
    - path
    argTypes:
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 100
    functionName: ipmi::transport::ifnameInPath
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 4
    functionsReached:
    - std::string_view::size
    - size
    - std::string_view::substr
    linkageType: ''
    returnType: bool
    signature: bool ifnameInPath(std::string_view ifname, std::string_view path)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: getChannelName
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:105,1
    - Dst: auto::empty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:106,1
    - Dst: ipmi::getSubTree
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:114,1
    - Dst: ipmi::transport::ifnameInPath
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:119,1
    - Dst: ChannelParams::service::empty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:138,1
    - Dst: ChannelParams::ifPath::empty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:142,1
    - Dst: ChannelParams::logicalPath::empty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:146,1
    - Dst: ChannelParams::ifPath::empty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:154,1
    - Dst: ChannelParams::logicalPath::empty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:159,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:165,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 34
    argCount: 2
    argNames:
    - ' bus'
    - channel
    argTypes:
    - sdbusplus::bus_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 167
    functionName: ipmi::transport::maybeGetChannelParams
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 2
    functionsReached:
    - ChannelParams::ifPath::empty
    - ChannelParams::service::empty
    - ipmi::transport::ifnameInPath
    - auto::empty
    - ipmi::getSubTree
    - getChannelName
    - ChannelParams::logicalPath::empty
    - std::move
    linkageType: ''
    returnType: std::optional<ChannelParams>
    signature: "std::optional<ChannelParams> maybeGetChannelParams(sdbusplus::bus_t&
      bus,\n                                                   uint8_t channel)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::maybeGetChannelParams
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:171,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:174,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:176,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' bus'
    - channel
    argTypes:
    - sdbusplus::bus_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 169
    functionDepth: 2
    functionLinenumber: 169
    functionLinenumberEnd: 179
    functionName: ipmi::transport::getChannelParams
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 4
    functionsReached:
    - ipmi::transport::maybeGetChannelParams
    - std::move
    - lg2::error
    - elog<InternalFailure>
    linkageType: ''
    returnType: ChannelParams
    signature: ChannelParams getChannelParams(sdbusplus::bus_t& bus, uint8_t channel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<T>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:187,1
    - Dst: getDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' bus'
    - ' params'
    - ' prop'
    argTypes:
    - sdbusplus::bus_t
    - ChannelParams
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 189
    functionName: ipmi::transport::getEthProp
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 2
    functionsReached:
    - std::get<T>
    - getDbusProperty
    linkageType: ''
    returnType: T
    signature: "T getEthProp(sdbusplus::bus_t& bus, const ChannelParams& params,\n
      \                   const std::string& prop)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' bus'
    - ' params'
    - ' prop'
    - ' t'
    argTypes:
    - sdbusplus::bus_t
    - ChannelParams
    - std::string
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 196
    functionName: ipmi::transport::setEthProp
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 4
    functionsReached:
    - setDbusProperty
    linkageType: ''
    returnType: void
    signature: "void setEthProp(sdbusplus::bus_t& bus, const ChannelParams& params,\n
      \                      const std::string& prop, const T& t)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:207,1
    - Dst: stdplus::fromStr<stdplus::EtherAddr>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:209,1
    - Dst: std::get<std::string>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' bus'
    - ' params'
    argTypes:
    - sdbusplus::bus_t
    - ChannelParams
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 210
    functionName: ipmi::transport::getMACProperty
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 0
    functionsReached:
    - stdplus::fromStr<stdplus::EtherAddr>
    - std::get<std::string>
    - getDbusProperty
    linkageType: ''
    returnType: stdplus::EtherAddr
    signature: "stdplus::EtherAddr getMACProperty(sdbusplus::bus_t& bus,\n                                  const
      ChannelParams& params)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stdplus::toStr
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:221,1
    - Dst: setDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' bus'
    - ' params'
    - mac
    argTypes:
    - sdbusplus::bus_t
    - ChannelParams
    - stdplus::EtherAddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 224
    functionName: ipmi::transport::setMACProperty
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 0
    functionsReached:
    - setDbusProperty
    - stdplus::toStr
    linkageType: ''
    returnType: void
    signature: "void setMACProperty(sdbusplus::bus_t& bus, const ChannelParams& params,\n
      \                   stdplus::EtherAddr mac)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:229,1
    - Dst: new_method_call
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:235,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:235,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:235,1
    - Dst: call_noreply
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:237,1
    - Dst: strcmp
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:242,1
    - Dst: name
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:242,1
    - Dst: strcmp
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:244,1
    - Dst: name
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:244,1
    - Dst: strcmp
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:245,1
    - Dst: name
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:245,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - ' bus'
    - ' service'
    - ' path'
    argTypes:
    - sdbusplus::bus_t
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 252
    functionName: ipmi::transport::deleteObjectIfExists
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 12
    functionsReached:
    - strcmp
    - c_str
    - name
    - empty
    - new_method_call
    - call_noreply
    linkageType: ''
    returnType: void
    signature: "void deleteObjectIfExists(sdbusplus::bus_t& bus, const std::string&
      service,\n                          const std::string& path)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_method_call
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:268,1
    - Dst: service::c_str
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:268,1
    - Dst: logicalPath::c_str
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:268,1
    - Dst: sdbusplus::common::xyz::openbmc_project::network::convertForMessage
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:271,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:274,1
    - Dst: tsh
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:274,1
    - Dst: call_noreply
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' bus'
    - ' params'
    - address
    - prefix
    argTypes:
    - sdbusplus::bus_t
    - ChannelParams
    - typename AddrFamily<family>::addr
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 276
    functionName: ipmi::transport::createIfAddr
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 6
    functionsReached:
    - logicalPath::c_str
    - service::c_str
    - auto::append
    - sdbusplus::common::xyz::openbmc_project::network::convertForMessage
    - new_method_call
    - tsh
    - call_noreply
    linkageType: ''
    returnType: void
    signature: "void createIfAddr(sdbusplus::bus_t& bus, const ChannelParams& params,\n
      \                 typename AddrFamily<family>::addr address, uint8_t prefix)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:291,1
    - Dst: getDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:292,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:299,1
    - Dst: ipmi::transport::getIfAddr
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:305,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - ' bus'
    - ' params'
    argTypes:
    - sdbusplus::bus_t
    - ChannelParams
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 284
    functionDepth: 2
    functionLinenumber: 284
    functionLinenumberEnd: 316
    functionName: ipmi::transport::getIfAddr4
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 2
    functionsReached:
    - ipmi::transport::getIfAddr
    - lg2::error
    - getDbusProperty
    - std::get<bool>
    linkageType: ''
    returnType: auto
    signature: auto getIfAddr4(sdbusplus::bus_t& bus, const ChannelParams& params)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::getIfAddr4
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:329,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:332,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:333,1
    - Dst: ipmi::transport::deleteObjectIfExists
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:341,1
    - Dst: std::optional<stdplus::In4Addr>::value_or
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:343,1
    - Dst: ipmi::transport::createIfAddr
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:346,1
    - Dst: std::optional<uint8_t>::value_or
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:347,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - ' bus'
    - ' params'
    - address
    - prefix
    argTypes:
    - sdbusplus::bus_t
    - ChannelParams
    - std::optional<stdplus::In4Addr>
    - std::optional<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 325
    functionDepth: 3
    functionLinenumber: 325
    functionLinenumberEnd: 349
    functionName: ipmi::transport::reconfigureIfAddr4
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 0
    functionsReached:
    - std::optional<stdplus::In4Addr>::value_or
    - ipmi::transport::createIfAddr
    - std::optional<uint8_t>::value_or
    - ipmi::transport::getIfAddr4
    - ipmi::transport::deleteObjectIfExists
    - elog<InternalFailure>
    - lg2::error
    linkageType: ''
    returnType: void
    signature: "void reconfigureIfAddr4(sdbusplus::bus_t& bus, const ChannelParams&
      params,\n                        std::optional<stdplus::In4Addr> address,\n
      \                       std::optional<uint8_t> prefix)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::getGatewayProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:356,1
    - Dst: ipmi::transport::findStaticNeighbor
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:362,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' bus'
    - ' params'
    - ' neighbors'
    argTypes:
    - sdbusplus::bus_t
    - ChannelParams
    - ObjectLookupCache
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 363
    functionName: ipmi::transport::findGatewayNeighbor
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 4
    functionsReached:
    - ipmi::transport::findStaticNeighbor
    - ipmi::transport::getGatewayProperty
    linkageType: ''
    returnType: std::optional<IfNeigh<family>>
    signature: "std::optional<IfNeigh<family>> findGatewayNeighbor(sdbusplus::bus_t&
      bus,\n                                                   const ChannelParams&
      params,\n                                                   ObjectLookupCache&
      neighbors)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::findGatewayNeighbor
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' bus'
    - ' params'
    argTypes:
    - sdbusplus::bus_t
    - ChannelParams
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 366
    functionDepth: 2
    functionLinenumber: 366
    functionLinenumberEnd: 371
    functionName: ipmi::transport::getGatewayNeighbor
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::transport::findGatewayNeighbor
    linkageType: ''
    returnType: std::optional<IfNeigh<family>>
    signature: "std::optional<IfNeigh<family>> getGatewayNeighbor(sdbusplus::bus_t&
      bus,\n                                                  const ChannelParams&
      params)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::getGatewayProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:377,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:380,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:381,1
    - Dst: ipmi::transport::findStaticNeighbor
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:386,1
    - Dst: ipmi::transport::deleteObjectIfExists
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:389,1
    - Dst: ipmi::transport::createNeighbor
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:392,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ' bus'
    - ' params'
    - mac
    argTypes:
    - sdbusplus::bus_t
    - ChannelParams
    - stdplus::EtherAddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 393
    functionName: ipmi::transport::reconfigureGatewayMAC
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::transport::findStaticNeighbor
    - ipmi::transport::deleteObjectIfExists
    - elog<InternalFailure>
    - ipmi::transport::getGatewayProperty
    - lg2::error
    - ipmi::transport::createNeighbor
    linkageType: ''
    returnType: void
    signature: "void reconfigureGatewayMAC(sdbusplus::bus_t& bus, const ChannelParams&
      params,\n                           stdplus::EtherAddr mac)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::getIfAddr
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:404,1
    - Dst: ipmi::transport::deleteObjectIfExists
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:407,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ' bus'
    - ' params'
    - idx
    argTypes:
    - sdbusplus::bus_t
    - ChannelParams
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 401
    functionDepth: 2
    functionLinenumber: 401
    functionLinenumberEnd: 409
    functionName: ipmi::transport::deconfigureIfAddr6
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 2
    functionsReached:
    - ipmi::transport::getIfAddr
    - ipmi::transport::deleteObjectIfExists
    linkageType: ''
    returnType: void
    signature: "void deconfigureIfAddr6(sdbusplus::bus_t& bus, const ChannelParams&
      params,\n                        uint8_t idx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::deconfigureIfAddr6
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:422,1
    - Dst: ipmi::transport::createIfAddr
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - ' bus'
    - ' params'
    - idx
    - address
    - prefix
    argTypes:
    - sdbusplus::bus_t
    - ChannelParams
    - uint8_t
    - stdplus::In6Addr
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 419
    functionDepth: 3
    functionLinenumber: 419
    functionLinenumberEnd: 424
    functionName: ipmi::transport::reconfigureIfAddr6
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::transport::deconfigureIfAddr6
    - ipmi::transport::createIfAddr
    linkageType: ''
    returnType: void
    signature: "void reconfigureIfAddr6(sdbusplus::bus_t& bus, const ChannelParams&
      params,\n                        uint8_t idx, stdplus::In6Addr address, uint8_t
      prefix)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: "sdbusplus::common::xyz::openbmc_project::network::\n                convertForMessage"
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:443,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:445,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:448,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - origin
    argTypes:
    - IP::AddressOrigin
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 451
    functionName: ipmi::transport::originToSourceType
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 2
    functionsReached:
    - "sdbusplus::common::xyz::openbmc_project::network::\n                convertForMessage"
    - lg2::error
    - elog<InternalFailure>
    linkageType: ''
    returnType: IPv6Source
    signature: IPv6Source originToSourceType(IP::AddressOrigin origin)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:469,1
    - Dst: ipmi::transport::originToSourceType
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:472,1
    - Dst: pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:479,1
    - Dst: pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:480,1
    - Dst: types::enum_cast<uint4_t>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:480,1
    - Dst: pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:481,1
    - Dst: stdplus::raw::asView<char>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:481,1
    - Dst: pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:482,1
    - Dst: pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:483,1
    - Dst: types::enum_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:483,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 4
    argNames:
    - ' ret'
    - channel
    - set
    - ' origins'
    argTypes:
    - message::Payload
    - uint8_t
    - uint8_t
    - std::unordered_set<IP::AddressOrigin>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 460
    functionDepth: 2
    functionLinenumber: 460
    functionLinenumberEnd: 484
    functionName: ipmi::transport::getLanIPv6Address
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 2
    functionsReached:
    - types::enum_cast<uint4_t>
    - ipmi::transport::originToSourceType
    - ipmi::transport::channelCall
    - stdplus::raw::asView<char>
    - types::enum_cast<uint8_t>
    - pack
    linkageType: ''
    returnType: void
    signature: "void getLanIPv6Address(message::Payload& ret, uint8_t channel, uint8_t
      set,\n                       const std::unordered_set<IP::AddressOrigin>& origins)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::get<uint32_t>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:500,1
    - Dst: getDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:500,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:504,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:507,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' bus'
    - ' params'
    argTypes:
    - sdbusplus::bus_t
    - ChannelParams
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 510
    functionName: ipmi::transport::getVLANProperty
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 0
    functionsReached:
    - std::get<uint32_t>
    - lg2::error
    - elog<InternalFailure>
    - getDbusProperty
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t getVLANProperty(sdbusplus::bus_t& bus, const ChannelParams&
      params)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getSubTree
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:521,1
    - Dst: ipmi::transport::ifnameInPath
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:525,1
    - Dst: ipmi::transport::deleteObjectIfExists
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:531,1
    - Dst: ipmi::transport::setEthProp
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:541,1
    - Dst: ipmi::transport::setEthProp
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:542,1
    - Dst: ipmi::transport::setEthProp
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:543,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - ' bus'
    - ' params'
    argTypes:
    - sdbusplus::bus_t
    - ChannelParams
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 517
    functionDepth: 1
    functionLinenumber: 517
    functionLinenumberEnd: 544
    functionName: ipmi::transport::deconfigureChannel
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 2
    functionsReached:
    - ipmi::transport::ifnameInPath
    - ipmi::transport::deleteObjectIfExists
    - ipmi::getSubTree
    - ipmi::transport::setEthProp
    linkageType: ''
    returnType: void
    signature: void deconfigureChannel(sdbusplus::bus_t& bus, ChannelParams& params)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: new_method_call
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:559,1
    - Dst: service::c_str
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:559,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:559,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:561,1
    - Dst: static_cast<uint32_t>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:561,1
    - Dst: call
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:562,1
    - Dst: auto::unpack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:563,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:565,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' bus'
    - ' params'
    - vlan
    argTypes:
    - sdbusplus::bus_t
    - ChannelParams
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 566
    functionName: ipmi::transport::createVLAN
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 2
    functionsReached:
    - service::c_str
    - auto::unpack
    - call
    - auto::append
    - c_str
    - static_cast<uint32_t>
    - new_method_call
    - std::move
    linkageType: ''
    returnType: void
    signature: void createVLAN(sdbusplus::bus_t& bus, ChannelParams& params, uint16_t
      vlan)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::getEthProp
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:583,1
    - Dst: ipmi::transport::getEthProp
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:584,1
    - Dst: ipmi::transport::getEthProp
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:585,1
    - Dst: ipmi::transport::findIfAddr
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:587,1
    - Dst: ipmi::transport::findIfAddr
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:592,1
    - Dst: std::vector::push_back
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:597,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:597,1
    - Dst: ipmi::transport::findGatewayNeighbor
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:600,1
    - Dst: ipmi::transport::findGatewayNeighbor
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:601,1
    - Dst: ipmi::transport::deconfigureChannel
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:605,1
    - Dst: ipmi::transport::createVLAN
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:606,1
    - Dst: ipmi::transport::setEthProp
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:609,1
    - Dst: ipmi::transport::setEthProp
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:610,1
    - Dst: ipmi::transport::setEthProp
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:611,1
    - Dst: ipmi::transport::setEthProp
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:613,1
    - Dst: ipmi::transport::setEthProp
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:614,1
    - Dst: ipmi::transport::setEthProp
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:615,1
    - Dst: ipmi::transport::createIfAddr
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:618,1
    - Dst: ipmi::transport::createIfAddr
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:622,1
    - Dst: ipmi::transport::createNeighbor
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:626,1
    - Dst: ipmi::transport::createNeighbor
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:630,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 3
    argNames:
    - ' bus'
    - ' params'
    - vlan
    argTypes:
    - sdbusplus::bus_t
    - ChannelParams
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 574
    functionDepth: 2
    functionLinenumber: 574
    functionLinenumberEnd: 632
    functionName: ipmi::transport::reconfigureVLAN
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - ipmi::transport::findIfAddr
    - ipmi::transport::getEthProp
    - ipmi::transport::setEthProp
    - ipmi::transport::createVLAN
    - ipmi::transport::findGatewayNeighbor
    - std::move
    - ipmi::transport::deconfigureChannel
    - ipmi::transport::createIfAddr
    - ipmi::transport::createNeighbor
    linkageType: ''
    returnType: void
    signature: "void reconfigureVLAN(sdbusplus::bus_t& bus, ChannelParams& params,\n
      \                    uint16_t vlan)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:652,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:653,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - channel
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 658
    functionName: ipmi::transport::getSetStatus
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 2
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: SetStatus
    signature: SetStatus & getSetStatus(uint8_t channel)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unpack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:665,1
    - Dst: stdplus::raw::copyFrom<T>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:669,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' req'
    argTypes:
    - message::Payload
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 662
    functionDepth: 0
    functionLinenumber: 662
    functionLinenumberEnd: 670
    functionName: ipmi::transport::unpackT
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 2
    functionsReached:
    - stdplus::raw::copyFrom<T>
    - unpack
    linkageType: ''
    returnType: T
    signature: T unpackT(message::Payload& req)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fullyUnpacked
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:675,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' req'
    argTypes:
    - message::Payload
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 673
    functionDepth: 0
    functionLinenumber: 673
    functionLinenumberEnd: 679
    functionName: ipmi::transport::unpackFinal
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 2
    functionsReached:
    - fullyUnpacked
    linkageType: ''
    returnType: void
    signature: void unpackFinal(message::Payload& req)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::responseParamNotSupported
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:726,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' req'
    argTypes:
    - message::Payload
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 723
    functionDepth: 1
    functionLinenumber: 723
    functionLinenumberEnd: 727
    functionName: ipmi::transport::setLanOem
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 2
    functionsReached:
    - ipmi::transport::responseParamNotSupported
    linkageType: ''
    returnType: RspType<>
    signature: RspType<> setLanOem(uint8_t, uint8_t, message::Payload& req)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::responseParamNotSupported
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:731,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 729
    functionDepth: 1
    functionLinenumber: 729
    functionLinenumberEnd: 732
    functionName: ipmi::transport::getLanOem
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 2
    functionsReached:
    - ipmi::transport::responseParamNotSupported
    linkageType: ''
    returnType: RspType<message::Payload>
    signature: RspType<message::Payload> getLanOem(uint8_t, uint8_t, uint8_t, uint8_t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getChannelInfo
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:746,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:753,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - channel
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 743
    functionDepth: 0
    functionLinenumber: 743
    functionLinenumberEnd: 754
    functionName: ipmi::transport::isLanChannel
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 4
    functionsReached:
    - getChannelInfo
    - static_cast<uint8_t>
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> isLanChannel(uint8_t channel)
  - BBCount: 64
    BranchProfiles: []
    Callsites:
    - Dst: convertCurrentChannelNum
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:759,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:760,1
    - Dst: isValidChannel
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:761,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:763,1
    - Dst: responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:765,1
    - Dst: ipmi::transport::isLanChannel
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:768,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:770,1
    - Dst: responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:771,1
    - Dst: static_cast<LanParam>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:774,1
    - Dst: unpack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:780,1
    - Dst: responseReqDataLenInvalid
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:782,1
    - Dst: ipmi::transport::unpackFinal
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:784,1
    - Dst: responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:787,1
    - Dst: static_cast<SetStatus>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:789,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:789,1
    - Dst: ipmi::transport::getSetStatus
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:794,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:795,1
    - Dst: ipmi::transport::getSetStatus
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:799,1
    - Dst: ipmi::transport::responseParamSetLocked
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:802,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:805,1
    - Dst: ipmi::transport::getSetStatus
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:808,1
    - Dst: responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:810,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:812,1
    - Dst: ipmi::transport::responseParamNotSupported
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:814,1
    - Dst: ipmi::transport::responseParamReadOnly
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:819,1
    - Dst: ipmi::transport::responseParamReadOnly
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:824,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:828,1
    - Dst: responseCommandNotAvailable
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:830,1
    - Dst: ipmi::transport::unpackT
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:832,1
    - Dst: ipmi::transport::unpackFinal
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:833,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:834,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:835,1
    - Dst: unpack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:841,1
    - Dst: responseReqDataLenInvalid
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:843,1
    - Dst: ipmi::transport::unpackFinal
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:845,1
    - Dst: responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:848,1
    - Dst: static_cast<IPSrc>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:850,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:850,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:857,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:858,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:861,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:862,1
    - Dst: responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:865,1
    - Dst: ipmi::transport::responseParamNotSupported
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:867,1
    - Dst: ipmi::transport::unpackT
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:871,1
    - Dst: ipmi::transport::unpackFinal
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:872,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:873,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:874,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:878,1
    - Dst: responseCommandNotAvailable
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:880,1
    - Dst: stdplus::maskToPfx
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:882,1
    - Dst: ipmi::transport::unpackT
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:882,1
    - Dst: ipmi::transport::unpackFinal
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:883,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:884,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:885,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:889,1
    - Dst: responseCommandNotAvailable
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:891,1
    - Dst: ipmi::transport::unpackT
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:893,1
    - Dst: ipmi::transport::unpackFinal
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:894,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:895,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:896,1
    - Dst: ipmi::transport::unpackT
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:900,1
    - Dst: ipmi::transport::unpackFinal
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:901,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:902,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:903,1
    - Dst: unpack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:911,1
    - Dst: responseReqDataLenInvalid
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:913,1
    - Dst: ipmi::transport::unpackFinal
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:915,1
    - Dst: responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:919,1
    - Dst: static_cast<uint16_t>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:922,1
    - Dst: responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:931,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:934,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:935,1
    - Dst: ipmi::transport::responseParamReadOnly
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:942,1
    - Dst: unpack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:947,1
    - Dst: responseReqDataLenInvalid
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:949,1
    - Dst: ipmi::transport::unpackFinal
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:951,1
    - Dst: static_cast<IPFamilyEnables>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:952,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:955,1
    - Dst: ipmi::transport::responseParamNotSupported
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:958,1
    - Dst: ipmi::transport::responseParamNotSupported
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:960,1
    - Dst: ipmi::transport::responseParamReadOnly
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:965,1
    - Dst: unpack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:974,1
    - Dst: responseReqDataLenInvalid
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:976,1
    - Dst: ipmi::transport::unpackT
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:978,1
    - Dst: unpack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:979,1
    - Dst: responseReqDataLenInvalid
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:981,1
    - Dst: ipmi::transport::unpackFinal
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:983,1
    - Dst: responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:986,1
    - Dst: responseParmOutOfRange
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:993,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:995,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:999,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1001,1
    - Dst: ipmi::transport::responseParamReadOnly
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1006,1
    - Dst: unpack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1012,1
    - Dst: responseReqDataLenInvalid
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1014,1
    - Dst: ipmi::transport::unpackFinal
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1016,1
    - Dst: std::bitset::any
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1019,1
    - Dst: ipmi::transport::responseParamNotSupported
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1021,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1025,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1026,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1027,1
    - Dst: ipmi::transport::unpackT
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1031,1
    - Dst: ipmi::transport::unpackFinal
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1032,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1033,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1034,1
    - Dst: ipmi::transport::unpackT
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1038,1
    - Dst: ipmi::transport::unpackFinal
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1039,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1040,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1041,1
    - Dst: unpack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1046,1
    - Dst: responseReqDataLenInvalid
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1048,1
    - Dst: ipmi::transport::unpackFinal
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1050,1
    - Dst: responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1053,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1055,1
    - Dst: ipmi::transport::unpackT
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1059,1
    - Dst: ipmi::transport::unpackFinal
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1060,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1062,1
    - Dst: unpack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1069,1
    - Dst: responseReqDataLenInvalid
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1071,1
    - Dst: ipmi::transport::unpackFinal
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1073,1
    - Dst: responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1077,1
    - Dst: getCipherConfigObject
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1081,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1085,1
    - Dst: response
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1090,1
    - Dst: ipmi::transport::setLanOem
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1097,1
    - Dst: ipmi::transport::responseParamNotSupported
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1101,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 229
    argCount: 5
    argNames:
    - ctx
    - channelBits
    - reserved1
    - parameter
    - ' req'
    argTypes:
    - Context::ptr
    - uint4_t
    - uint4_t
    - uint8_t
    - message::Payload
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1102
      start: 756
    functionDepth: 2
    functionLinenumber: 756
    functionLinenumberEnd: 1102
    functionName: ipmi::transport::setLanInt
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 2
    functionsReached:
    - ipmi::transport::unpackT
    - static_cast<uint8_t>
    - ipmi::transport::responseParamNotSupported
    - ipmi::transport::responseParamReadOnly
    - static_cast<SetStatus>
    - std::bitset::any
    - ipmi::transport::responseParamSetLocked
    - ipmi::transport::isLanChannel
    - convertCurrentChannelNum
    - responseCommandNotAvailable
    - ipmi::transport::channelCall
    - ipmi::transport::unpackFinal
    - responseInvalidFieldRequest
    - stdplus::maskToPfx
    - isValidChannel
    - lg2::error
    - response
    - static_cast<LanParam>
    - ipmi::transport::getSetStatus
    - unpack
    - responseReqDataLenInvalid
    - responseSuccess
    - responseParmOutOfRange
    - ipmi::transport::setLanOem
    - getCipherConfigObject
    - static_cast<IPFamilyEnables>
    - static_cast<uint16_t>
    - static_cast<IPSrc>
    linkageType: ''
    returnType: RspType<>
    signature: "RspType<> setLanInt(Context::ptr ctx, uint4_t channelBits, uint4_t
      reserved1,\n                    uint8_t parameter, message::Payload& req)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::setLanInt
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1109,1
    - Dst: response
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1113,1
    - Dst: name
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1117,1
    - Dst: responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1119,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 5
    argNames:
    - ctx
    - channelBits
    - reserved1
    - parameter
    - ' req'
    argTypes:
    - Context::ptr
    - uint4_t
    - uint4_t
    - uint8_t
    - message::Payload
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1123
      start: 1104
    functionDepth: 3
    functionLinenumber: 1104
    functionLinenumberEnd: 1123
    functionName: ipmi::transport::setLan
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::transport::setLanInt
    - responseInvalidFieldRequest
    - response
    - name
    linkageType: ''
    returnType: RspType<>
    signature: "RspType<> setLan(Context::ptr ctx, uint4_t channelBits, uint4_t reserved1,\n
      \                uint8_t parameter, message::Payload& req)"
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1131,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1135,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1135,1
    - Dst: convertCurrentChannelNum
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1138,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1139,1
    - Dst: isValidChannel
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1140,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1142,1
    - Dst: responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1143,1
    - Dst: ipmi::transport::isLanChannel
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1146,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1148,1
    - Dst: responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1149,1
    - Dst: cipher::getCipherList
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1158,1
    - Dst: static_cast<LanParam>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1165,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1172,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1178,1
    - Dst: types::enum_cast<uint2_t>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1178,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1179,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1179,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1184,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1185,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1185,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1190,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1191,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1192,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1193,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1194,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1195,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1195,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1199,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1205,1
    - Dst: stdplus::raw::asView<char>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1205,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1206,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1206,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1210,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1213,1
    - Dst: types::enum_cast<uint4_t>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1213,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1214,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1214,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1218,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1219,1
    - Dst: stdplus::raw::asView<char>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1219,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1220,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1220,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1224,1
    - Dst: stdplus::pfxToMask<stdplus::In4Addr>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1230,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1231,1
    - Dst: stdplus::raw::asView<char>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1231,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1232,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1232,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1236,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1237,1
    - Dst: stdplus::raw::asView<char>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1237,1
    - Dst: auto::value_or
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1238,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1239,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1239,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1244,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1249,1
    - Dst: stdplus::raw::asView<char>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1249,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1250,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1250,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1254,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1263,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1264,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1264,1
    - Dst: getChannelSessionSupport
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1268,1
    - Dst: responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1271,1
    - Dst: responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1275,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1277,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1277,1
    - Dst: std::vector::size
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1277,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1278,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1278,1
    - Dst: getChannelSessionSupport
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1282,1
    - Dst: responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1285,1
    - Dst: responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1289,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1291,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1292,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1292,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1300,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1301,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1301,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1305,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1305,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1306,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1306,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1310,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1311,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1315,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1316,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1316,1
    - Dst: responseParmOutOfRange
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1322,1
    - Dst: ipmi::transport::getLanIPv6Address
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1324,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1325,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1325,1
    - Dst: responseParmOutOfRange
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1331,1
    - Dst: ipmi::transport::getLanIPv6Address
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1333,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1334,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1334,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1340,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1342,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1343,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1343,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1348,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1351,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1354,1
    - Dst: stdplus::raw::asView<char>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1354,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1355,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1355,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1360,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1365,1
    - Dst: stdplus::raw::asView<char>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1365,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1366,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1366,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1370,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1371,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1371,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1375,1
    - Dst: stdplus::raw::asView<char>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1375,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1376,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1376,1
    - Dst: getCipherConfigObject
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1383,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1388,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1389,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1389,1
    - Dst: response
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1393,1
    - Dst: ipmi::transport::getLanOem
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1400,1
    - Dst: ipmi::transport::responseParamNotSupported
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1403,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 178
    argCount: 7
    argNames:
    - ctx
    - channelBits
    - reserved
    - revOnly
    - parameter
    - set
    - block
    argTypes:
    - Context::ptr
    - uint4_t
    - uint3_t
    - bool
    - uint8_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1404
      start: 1125
    functionDepth: 3
    functionLinenumber: 1125
    functionLinenumberEnd: 1404
    functionName: ipmi::transport::getLan
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - ipmi::transport::responseParamNotSupported
    - getChannelSessionSupport
    - responseUnspecifiedError
    - ipmi::transport::isLanChannel
    - convertCurrentChannelNum
    - ipmi::transport::channelCall
    - cipher::getCipherList
    - types::enum_cast<uint4_t>
    - responseInvalidFieldRequest
    - isValidChannel
    - std::move
    - stdplus::raw::asView<char>
    - lg2::error
    - message::Payload::pack
    - response
    - static_cast<LanParam>
    - std::vector::size
    - responseSuccess
    - responseParmOutOfRange
    - ipmi::transport::getLanIPv6Address
    - ipmi::transport::getLanOem
    - getCipherConfigObject
    - stdplus::pfxToMask<stdplus::In4Addr>
    - at
    - auto::value_or
    - types::enum_cast<uint2_t>
    linkageType: ''
    returnType: RspType<message::Payload>
    signature: "RspType<message::Payload> getLan(Context::ptr ctx, uint4_t channelBits,\n
      \                                uint3_t reserved, bool revOnly,\n                                 uint8_t
      parameter, uint8_t set, uint8_t block)"
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: convertCurrentChannelNum
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1414,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1415,1
    - Dst: isValidChannel
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1417,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1419,1
    - Dst: responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1420,1
    - Dst: ipmi::getChannelName
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1423,1
    - Dst: auto::empty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1424,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1426,1
    - Dst: responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1428,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1434,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1436,1
    - Dst: responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1440,1
    - Dst: static_cast<SolConfParam>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1443,1
    - Dst: unpack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1448,1
    - Dst: fullyUnpacked
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1448,1
    - Dst: responseReqDataLenInvalid
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1450,1
    - Dst: ipmi::setDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1453,1
    - Dst: responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1456,1
    - Dst: unpack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1465,1
    - Dst: fullyUnpacked
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1465,1
    - Dst: responseReqDataLenInvalid
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1467,1
    - Dst: ipmi::setDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1470,1
    - Dst: responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1473,1
    - Dst: unpack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1484,1
    - Dst: fullyUnpacked
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1486,1
    - Dst: responseReqDataLenInvalid
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1488,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1491,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1492,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1493,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1495,1
    - Dst: ipmi::setDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1498,1
    - Dst: responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1501,1
    - Dst: ipmi::setDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1504,1
    - Dst: responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1508,1
    - Dst: ipmi::setDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1511,1
    - Dst: responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1515,1
    - Dst: unpack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1523,1
    - Dst: fullyUnpacked
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1523,1
    - Dst: responseReqDataLenInvalid
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1525,1
    - Dst: responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1530,1
    - Dst: ipmi::setDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1533,1
    - Dst: responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1537,1
    - Dst: ipmi::setDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1540,1
    - Dst: responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1543,1
    - Dst: unpack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1553,1
    - Dst: fullyUnpacked
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1554,1
    - Dst: responseReqDataLenInvalid
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1556,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1559,1
    - Dst: ipmi::setDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1560,1
    - Dst: responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1563,1
    - Dst: ipmi::setDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1566,1
    - Dst: responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1570,1
    - Dst: ipmi::transport::responseWriteReadParameter
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1576,1
    - Dst: ipmi::transport::responseParamNotSupported
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1582,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1584,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 87
    argCount: 4
    argNames:
    - ctx
    - channelBits
    - parameter
    - ' req'
    argTypes:
    - Context::ptr
    - uint4_t
    - uint8_t
    - message::Payload
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1585
      start: 1410
    functionDepth: 1
    functionLinenumber: 1410
    functionLinenumberEnd: 1585
    functionName: ipmi::transport::setSolConfParams
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::setDbusProperty
    - ipmi::getService
    - ipmi::transport::responseWriteReadParameter
    - responseUnspecifiedError
    - responseInvalidFieldRequest
    - ipmi::getChannelName
    - auto::empty
    - isValidChannel
    - convertCurrentChannelNum
    - static_cast<uint8_t>
    - unpack
    - responseReqDataLenInvalid
    - ipmi::responseInvalidFieldRequest
    - ipmi::transport::responseParamNotSupported
    - fullyUnpacked
    - static_cast<SolConfParam>
    - responseSuccess
    - lg2::error
    linkageType: ''
    returnType: RspType<>
    signature: "RspType<> setSolConfParams(Context::ptr ctx, uint4_t channelBits,\n
      \                          uint4_t /*reserved*/, uint8_t parameter,\n                           message::Payload&
      req)"
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1593,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1596,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1596,1
    - Dst: convertCurrentChannelNum
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1599,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1600,1
    - Dst: isValidChannel
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1602,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1604,1
    - Dst: responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1605,1
    - Dst: ipmi::getChannelName
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1608,1
    - Dst: auto::empty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1609,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1611,1
    - Dst: responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1613,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1619,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1621,1
    - Dst: responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1625,1
    - Dst: static_cast<SolConfParam>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1628,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1633,1
    - Dst: responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1636,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1638,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1639,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1639,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1644,1
    - Dst: responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1647,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1649,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1650,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1650,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1659,1
    - Dst: responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1662,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1665,1
    - Dst: responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1669,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1672,1
    - Dst: responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1676,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1678,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1679,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1679,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1685,1
    - Dst: responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1689,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1692,1
    - Dst: responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1695,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1697,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1698,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1698,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1706,1
    - Dst: responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1709,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1712,1
    - Dst: responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1716,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1718,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1719,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1719,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1724,1
    - Dst: static_cast<uint16_t>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1724,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1725,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1725,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1729,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1730,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1730,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1736,1
    - Dst: ipmi::transport::responseParamNotSupported
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1741,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1763,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1764,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1764,1
    - Dst: ipmi::transport::responseParamNotSupported
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1768,1
    - Dst: ipmi::transport::responseParamNotSupported
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1771,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 104
    argCount: 4
    argNames:
    - ctx
    - channelBits
    - revOnly
    - parameter
    argTypes:
    - Context::ptr
    - uint4_t
    - bool
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1772
      start: 1587
    functionDepth: 1
    functionLinenumber: 1587
    functionLinenumberEnd: 1772
    functionName: ipmi::transport::getSolConfParams
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 0
    functionsReached:
    - message::Payload::pack
    - ipmi::getService
    - responseUnspecifiedError
    - responseInvalidFieldRequest
    - responseSuccess
    - ipmi::getChannelName
    - convertCurrentChannelNum
    - isValidChannel
    - static_cast<uint8_t>
    - auto::empty
    - static_cast<SolConfParam>
    - ipmi::transport::responseParamNotSupported
    - ipmi::getDbusProperty
    - std::move
    - static_cast<uint16_t>
    - lg2::error
    linkageType: ''
    returnType: RspType<message::Payload>
    signature: "RspType<message::Payload> getSolConfParams(\n    Context::ptr ctx,
      uint4_t channelBits, uint3_t /*reserved*/, bool revOnly,\n    uint8_t parameter,
      uint8_t /*set*/, uint8_t /*block*/)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: response
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: ipmi::transport::responseParamNotSupported
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 18
    functionsReached:
    - response
    linkageType: ''
    returnType: auto
    signature: auto responseParamNotSupported()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: response
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: ipmi::transport::responseParamSetLocked
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 3
    functionsReached:
    - response
    linkageType: ''
    returnType: auto
    signature: auto responseParamSetLocked()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: response
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: ipmi::transport::responseParamReadOnly
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 3
    functionsReached:
    - response
    linkageType: ''
    returnType: auto
    signature: auto responseParamReadOnly()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: response
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: ipmi::transport::responseWriteReadParameter
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 3
    functionsReached:
    - response
    linkageType: ''
    returnType: auto
    signature: auto responseWriteReadParameter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:94,1
    - Dst: std::string_view::size
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:95,1
    - Dst: std::string_view::size
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:96,1
    - Dst: std::string_view::substr
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:96,1
    - Dst: std::string_view::size
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:97,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - ifname
    - path
    argTypes:
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 100
    functionName: ipmi::transport::ifnameInPath
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 6
    functionsReached:
    - std::string_view::size
    - size
    - std::string_view::substr
    linkageType: ''
    returnType: bool
    signature: bool ifnameInPath(std::string_view ifname, std::string_view path)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: getChannelName
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:105,1
    - Dst: auto::empty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:106,1
    - Dst: ipmi::getSubTree
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:114,1
    - Dst: ipmi::transport::ifnameInPath
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:119,1
    - Dst: ChannelParams::service::empty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:138,1
    - Dst: ChannelParams::ifPath::empty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:142,1
    - Dst: ChannelParams::logicalPath::empty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:146,1
    - Dst: ChannelParams::ifPath::empty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:154,1
    - Dst: ChannelParams::logicalPath::empty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:159,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:165,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 34
    argCount: 2
    argNames:
    - ' bus'
    - channel
    argTypes:
    - sdbusplus::bus_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 167
    functionName: ipmi::transport::maybeGetChannelParams
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 3
    functionsReached:
    - ChannelParams::ifPath::empty
    - ChannelParams::service::empty
    - ipmi::transport::ifnameInPath
    - auto::empty
    - ipmi::getSubTree
    - getChannelName
    - ChannelParams::logicalPath::empty
    - std::move
    linkageType: ''
    returnType: std::optional<ChannelParams>
    signature: "std::optional<ChannelParams> maybeGetChannelParams(sdbusplus::bus_t&
      bus,\n                                                   uint8_t channel)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::maybeGetChannelParams
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:171,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:174,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:176,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' bus'
    - channel
    argTypes:
    - sdbusplus::bus_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 169
    functionDepth: 2
    functionLinenumber: 169
    functionLinenumberEnd: 179
    functionName: ipmi::transport::getChannelParams
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 4
    functionsReached:
    - ipmi::transport::maybeGetChannelParams
    - std::move
    - lg2::error
    - elog<InternalFailure>
    linkageType: ''
    returnType: ChannelParams
    signature: ChannelParams getChannelParams(sdbusplus::bus_t& bus, uint8_t channel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<T>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:187,1
    - Dst: getDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' bus'
    - ' params'
    - ' prop'
    argTypes:
    - sdbusplus::bus_t
    - ChannelParams
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 189
    functionName: ipmi::transport::getEthProp
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 3
    functionsReached:
    - std::get<T>
    - getDbusProperty
    linkageType: ''
    returnType: T
    signature: "T getEthProp(sdbusplus::bus_t& bus, const ChannelParams& params,\n
      \                   const std::string& prop)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' bus'
    - ' params'
    - ' prop'
    - ' t'
    argTypes:
    - sdbusplus::bus_t
    - ChannelParams
    - std::string
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 196
    functionName: ipmi::transport::setEthProp
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 6
    functionsReached:
    - setDbusProperty
    linkageType: ''
    returnType: void
    signature: "void setEthProp(sdbusplus::bus_t& bus, const ChannelParams& params,\n
      \                      const std::string& prop, const T& t)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:207,1
    - Dst: stdplus::fromStr<stdplus::EtherAddr>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:209,1
    - Dst: std::get<std::string>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' bus'
    - ' params'
    argTypes:
    - sdbusplus::bus_t
    - ChannelParams
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 210
    functionName: ipmi::transport::getMACProperty
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 0
    functionsReached:
    - stdplus::fromStr<stdplus::EtherAddr>
    - std::get<std::string>
    - getDbusProperty
    linkageType: ''
    returnType: stdplus::EtherAddr
    signature: "stdplus::EtherAddr getMACProperty(sdbusplus::bus_t& bus,\n                                  const
      ChannelParams& params)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stdplus::toStr
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:221,1
    - Dst: setDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' bus'
    - ' params'
    - mac
    argTypes:
    - sdbusplus::bus_t
    - ChannelParams
    - stdplus::EtherAddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 224
    functionName: ipmi::transport::setMACProperty
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 0
    functionsReached:
    - setDbusProperty
    - stdplus::toStr
    linkageType: ''
    returnType: void
    signature: "void setMACProperty(sdbusplus::bus_t& bus, const ChannelParams& params,\n
      \                   stdplus::EtherAddr mac)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:229,1
    - Dst: new_method_call
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:235,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:235,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:235,1
    - Dst: call_noreply
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:237,1
    - Dst: strcmp
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:242,1
    - Dst: name
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:242,1
    - Dst: strcmp
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:244,1
    - Dst: name
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:244,1
    - Dst: strcmp
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:245,1
    - Dst: name
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:245,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - ' bus'
    - ' service'
    - ' path'
    argTypes:
    - sdbusplus::bus_t
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 252
    functionName: ipmi::transport::deleteObjectIfExists
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 16
    functionsReached:
    - strcmp
    - c_str
    - name
    - empty
    - new_method_call
    - call_noreply
    linkageType: ''
    returnType: void
    signature: "void deleteObjectIfExists(sdbusplus::bus_t& bus, const std::string&
      service,\n                          const std::string& path)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_method_call
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:268,1
    - Dst: service::c_str
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:268,1
    - Dst: logicalPath::c_str
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:268,1
    - Dst: sdbusplus::common::xyz::openbmc_project::network::convertForMessage
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:271,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:274,1
    - Dst: tsh
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:274,1
    - Dst: call_noreply
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' bus'
    - ' params'
    - address
    - prefix
    argTypes:
    - sdbusplus::bus_t
    - ChannelParams
    - typename AddrFamily<family>::addr
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 276
    functionName: ipmi::transport::createIfAddr
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 9
    functionsReached:
    - logicalPath::c_str
    - service::c_str
    - auto::append
    - sdbusplus::common::xyz::openbmc_project::network::convertForMessage
    - new_method_call
    - tsh
    - call_noreply
    linkageType: ''
    returnType: void
    signature: "void createIfAddr(sdbusplus::bus_t& bus, const ChannelParams& params,\n
      \                 typename AddrFamily<family>::addr address, uint8_t prefix)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:291,1
    - Dst: getDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:292,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:299,1
    - Dst: ipmi::transport::getIfAddr
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:305,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - ' bus'
    - ' params'
    argTypes:
    - sdbusplus::bus_t
    - ChannelParams
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 284
    functionDepth: 2
    functionLinenumber: 284
    functionLinenumberEnd: 316
    functionName: ipmi::transport::getIfAddr4
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 3
    functionsReached:
    - ipmi::transport::getIfAddr
    - lg2::error
    - getDbusProperty
    - std::get<bool>
    linkageType: ''
    returnType: auto
    signature: auto getIfAddr4(sdbusplus::bus_t& bus, const ChannelParams& params)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::getIfAddr4
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:329,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:332,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:333,1
    - Dst: ipmi::transport::deleteObjectIfExists
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:341,1
    - Dst: std::optional<stdplus::In4Addr>::value_or
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:343,1
    - Dst: ipmi::transport::createIfAddr
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:346,1
    - Dst: std::optional<uint8_t>::value_or
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:347,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - ' bus'
    - ' params'
    - address
    - prefix
    argTypes:
    - sdbusplus::bus_t
    - ChannelParams
    - std::optional<stdplus::In4Addr>
    - std::optional<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 325
    functionDepth: 3
    functionLinenumber: 325
    functionLinenumberEnd: 349
    functionName: ipmi::transport::reconfigureIfAddr4
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 0
    functionsReached:
    - std::optional<stdplus::In4Addr>::value_or
    - ipmi::transport::createIfAddr
    - std::optional<uint8_t>::value_or
    - ipmi::transport::getIfAddr4
    - ipmi::transport::deleteObjectIfExists
    - elog<InternalFailure>
    - lg2::error
    linkageType: ''
    returnType: void
    signature: "void reconfigureIfAddr4(sdbusplus::bus_t& bus, const ChannelParams&
      params,\n                        std::optional<stdplus::In4Addr> address,\n
      \                       std::optional<uint8_t> prefix)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::getGatewayProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:356,1
    - Dst: ipmi::transport::findStaticNeighbor
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:362,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' bus'
    - ' params'
    - ' neighbors'
    argTypes:
    - sdbusplus::bus_t
    - ChannelParams
    - ObjectLookupCache
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 363
    functionName: ipmi::transport::findGatewayNeighbor
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 6
    functionsReached:
    - ipmi::transport::findStaticNeighbor
    - ipmi::transport::getGatewayProperty
    linkageType: ''
    returnType: std::optional<IfNeigh<family>>
    signature: "std::optional<IfNeigh<family>> findGatewayNeighbor(sdbusplus::bus_t&
      bus,\n                                                   const ChannelParams&
      params,\n                                                   ObjectLookupCache&
      neighbors)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::findGatewayNeighbor
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' bus'
    - ' params'
    argTypes:
    - sdbusplus::bus_t
    - ChannelParams
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 366
    functionDepth: 2
    functionLinenumber: 366
    functionLinenumberEnd: 371
    functionName: ipmi::transport::getGatewayNeighbor
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::transport::findGatewayNeighbor
    linkageType: ''
    returnType: std::optional<IfNeigh<family>>
    signature: "std::optional<IfNeigh<family>> getGatewayNeighbor(sdbusplus::bus_t&
      bus,\n                                                  const ChannelParams&
      params)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::getGatewayProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:377,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:380,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:381,1
    - Dst: ipmi::transport::findStaticNeighbor
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:386,1
    - Dst: ipmi::transport::deleteObjectIfExists
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:389,1
    - Dst: ipmi::transport::createNeighbor
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:392,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ' bus'
    - ' params'
    - mac
    argTypes:
    - sdbusplus::bus_t
    - ChannelParams
    - stdplus::EtherAddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 393
    functionName: ipmi::transport::reconfigureGatewayMAC
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::transport::findStaticNeighbor
    - ipmi::transport::deleteObjectIfExists
    - elog<InternalFailure>
    - ipmi::transport::getGatewayProperty
    - lg2::error
    - ipmi::transport::createNeighbor
    linkageType: ''
    returnType: void
    signature: "void reconfigureGatewayMAC(sdbusplus::bus_t& bus, const ChannelParams&
      params,\n                           stdplus::EtherAddr mac)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::getIfAddr
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:404,1
    - Dst: ipmi::transport::deleteObjectIfExists
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:407,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ' bus'
    - ' params'
    - idx
    argTypes:
    - sdbusplus::bus_t
    - ChannelParams
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 401
    functionDepth: 2
    functionLinenumber: 401
    functionLinenumberEnd: 409
    functionName: ipmi::transport::deconfigureIfAddr6
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 3
    functionsReached:
    - ipmi::transport::getIfAddr
    - ipmi::transport::deleteObjectIfExists
    linkageType: ''
    returnType: void
    signature: "void deconfigureIfAddr6(sdbusplus::bus_t& bus, const ChannelParams&
      params,\n                        uint8_t idx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::deconfigureIfAddr6
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:422,1
    - Dst: ipmi::transport::createIfAddr
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - ' bus'
    - ' params'
    - idx
    - address
    - prefix
    argTypes:
    - sdbusplus::bus_t
    - ChannelParams
    - uint8_t
    - stdplus::In6Addr
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 419
    functionDepth: 3
    functionLinenumber: 419
    functionLinenumberEnd: 424
    functionName: ipmi::transport::reconfigureIfAddr6
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::transport::deconfigureIfAddr6
    - ipmi::transport::createIfAddr
    linkageType: ''
    returnType: void
    signature: "void reconfigureIfAddr6(sdbusplus::bus_t& bus, const ChannelParams&
      params,\n                        uint8_t idx, stdplus::In6Addr address, uint8_t
      prefix)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: "sdbusplus::common::xyz::openbmc_project::network::\n                convertForMessage"
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:443,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:445,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:448,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - origin
    argTypes:
    - IP::AddressOrigin
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 451
    functionName: ipmi::transport::originToSourceType
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 3
    functionsReached:
    - "sdbusplus::common::xyz::openbmc_project::network::\n                convertForMessage"
    - lg2::error
    - elog<InternalFailure>
    linkageType: ''
    returnType: IPv6Source
    signature: IPv6Source originToSourceType(IP::AddressOrigin origin)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:469,1
    - Dst: ipmi::transport::originToSourceType
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:472,1
    - Dst: pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:479,1
    - Dst: pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:480,1
    - Dst: types::enum_cast<uint4_t>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:480,1
    - Dst: pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:481,1
    - Dst: stdplus::raw::asView<char>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:481,1
    - Dst: pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:482,1
    - Dst: pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:483,1
    - Dst: types::enum_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:483,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 4
    argNames:
    - ' ret'
    - channel
    - set
    - ' origins'
    argTypes:
    - message::Payload
    - uint8_t
    - uint8_t
    - std::unordered_set<IP::AddressOrigin>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 460
    functionDepth: 2
    functionLinenumber: 460
    functionLinenumberEnd: 484
    functionName: ipmi::transport::getLanIPv6Address
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 3
    functionsReached:
    - types::enum_cast<uint4_t>
    - ipmi::transport::originToSourceType
    - ipmi::transport::channelCall
    - stdplus::raw::asView<char>
    - types::enum_cast<uint8_t>
    - pack
    linkageType: ''
    returnType: void
    signature: "void getLanIPv6Address(message::Payload& ret, uint8_t channel, uint8_t
      set,\n                       const std::unordered_set<IP::AddressOrigin>& origins)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::get<uint32_t>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:500,1
    - Dst: getDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:500,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:504,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:507,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' bus'
    - ' params'
    argTypes:
    - sdbusplus::bus_t
    - ChannelParams
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 510
    functionName: ipmi::transport::getVLANProperty
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 0
    functionsReached:
    - std::get<uint32_t>
    - lg2::error
    - elog<InternalFailure>
    - getDbusProperty
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t getVLANProperty(sdbusplus::bus_t& bus, const ChannelParams&
      params)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getSubTree
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:521,1
    - Dst: ipmi::transport::ifnameInPath
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:525,1
    - Dst: ipmi::transport::deleteObjectIfExists
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:531,1
    - Dst: ipmi::transport::setEthProp
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:541,1
    - Dst: ipmi::transport::setEthProp
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:542,1
    - Dst: ipmi::transport::setEthProp
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:543,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - ' bus'
    - ' params'
    argTypes:
    - sdbusplus::bus_t
    - ChannelParams
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 517
    functionDepth: 1
    functionLinenumber: 517
    functionLinenumberEnd: 544
    functionName: ipmi::transport::deconfigureChannel
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 3
    functionsReached:
    - ipmi::transport::ifnameInPath
    - ipmi::transport::deleteObjectIfExists
    - ipmi::getSubTree
    - ipmi::transport::setEthProp
    linkageType: ''
    returnType: void
    signature: void deconfigureChannel(sdbusplus::bus_t& bus, ChannelParams& params)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: new_method_call
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:559,1
    - Dst: service::c_str
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:559,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:559,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:561,1
    - Dst: static_cast<uint32_t>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:561,1
    - Dst: call
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:562,1
    - Dst: auto::unpack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:563,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:565,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' bus'
    - ' params'
    - vlan
    argTypes:
    - sdbusplus::bus_t
    - ChannelParams
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 566
    functionName: ipmi::transport::createVLAN
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 3
    functionsReached:
    - service::c_str
    - auto::unpack
    - call
    - auto::append
    - c_str
    - static_cast<uint32_t>
    - new_method_call
    - std::move
    linkageType: ''
    returnType: void
    signature: void createVLAN(sdbusplus::bus_t& bus, ChannelParams& params, uint16_t
      vlan)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::getEthProp
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:583,1
    - Dst: ipmi::transport::getEthProp
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:584,1
    - Dst: ipmi::transport::getEthProp
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:585,1
    - Dst: ipmi::transport::findIfAddr
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:587,1
    - Dst: ipmi::transport::findIfAddr
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:592,1
    - Dst: std::vector::push_back
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:597,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:597,1
    - Dst: ipmi::transport::findGatewayNeighbor
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:600,1
    - Dst: ipmi::transport::findGatewayNeighbor
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:601,1
    - Dst: ipmi::transport::deconfigureChannel
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:605,1
    - Dst: ipmi::transport::createVLAN
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:606,1
    - Dst: ipmi::transport::setEthProp
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:609,1
    - Dst: ipmi::transport::setEthProp
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:610,1
    - Dst: ipmi::transport::setEthProp
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:611,1
    - Dst: ipmi::transport::setEthProp
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:613,1
    - Dst: ipmi::transport::setEthProp
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:614,1
    - Dst: ipmi::transport::setEthProp
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:615,1
    - Dst: ipmi::transport::createIfAddr
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:618,1
    - Dst: ipmi::transport::createIfAddr
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:622,1
    - Dst: ipmi::transport::createNeighbor
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:626,1
    - Dst: ipmi::transport::createNeighbor
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:630,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 3
    argNames:
    - ' bus'
    - ' params'
    - vlan
    argTypes:
    - sdbusplus::bus_t
    - ChannelParams
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 574
    functionDepth: 2
    functionLinenumber: 574
    functionLinenumberEnd: 632
    functionName: ipmi::transport::reconfigureVLAN
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - ipmi::transport::findIfAddr
    - ipmi::transport::getEthProp
    - ipmi::transport::setEthProp
    - ipmi::transport::createVLAN
    - ipmi::transport::findGatewayNeighbor
    - std::move
    - ipmi::transport::deconfigureChannel
    - ipmi::transport::createIfAddr
    - ipmi::transport::createNeighbor
    linkageType: ''
    returnType: void
    signature: "void reconfigureVLAN(sdbusplus::bus_t& bus, ChannelParams& params,\n
      \                    uint16_t vlan)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:652,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:653,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - channel
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 658
    functionName: ipmi::transport::getSetStatus
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 3
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: SetStatus
    signature: SetStatus & getSetStatus(uint8_t channel)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unpack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:665,1
    - Dst: stdplus::raw::copyFrom<T>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:669,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' req'
    argTypes:
    - message::Payload
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 662
    functionDepth: 0
    functionLinenumber: 662
    functionLinenumberEnd: 670
    functionName: ipmi::transport::unpackT
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 3
    functionsReached:
    - stdplus::raw::copyFrom<T>
    - unpack
    linkageType: ''
    returnType: T
    signature: T unpackT(message::Payload& req)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fullyUnpacked
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:675,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' req'
    argTypes:
    - message::Payload
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 673
    functionDepth: 0
    functionLinenumber: 673
    functionLinenumberEnd: 679
    functionName: ipmi::transport::unpackFinal
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 3
    functionsReached:
    - fullyUnpacked
    linkageType: ''
    returnType: void
    signature: void unpackFinal(message::Payload& req)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::responseParamNotSupported
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:726,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' req'
    argTypes:
    - message::Payload
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 723
    functionDepth: 1
    functionLinenumber: 723
    functionLinenumberEnd: 727
    functionName: ipmi::transport::setLanOem
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 3
    functionsReached:
    - ipmi::transport::responseParamNotSupported
    linkageType: ''
    returnType: RspType<>
    signature: RspType<> setLanOem(uint8_t, uint8_t, message::Payload& req)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::responseParamNotSupported
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:731,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 729
    functionDepth: 1
    functionLinenumber: 729
    functionLinenumberEnd: 732
    functionName: ipmi::transport::getLanOem
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 3
    functionsReached:
    - ipmi::transport::responseParamNotSupported
    linkageType: ''
    returnType: RspType<message::Payload>
    signature: RspType<message::Payload> getLanOem(uint8_t, uint8_t, uint8_t, uint8_t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getChannelInfo
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:746,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:753,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - channel
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 743
    functionDepth: 0
    functionLinenumber: 743
    functionLinenumberEnd: 754
    functionName: ipmi::transport::isLanChannel
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 6
    functionsReached:
    - getChannelInfo
    - static_cast<uint8_t>
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> isLanChannel(uint8_t channel)
  - BBCount: 64
    BranchProfiles: []
    Callsites:
    - Dst: convertCurrentChannelNum
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:759,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:760,1
    - Dst: isValidChannel
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:761,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:763,1
    - Dst: responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:765,1
    - Dst: ipmi::transport::isLanChannel
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:768,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:770,1
    - Dst: responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:771,1
    - Dst: static_cast<LanParam>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:774,1
    - Dst: unpack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:780,1
    - Dst: responseReqDataLenInvalid
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:782,1
    - Dst: ipmi::transport::unpackFinal
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:784,1
    - Dst: responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:787,1
    - Dst: static_cast<SetStatus>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:789,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:789,1
    - Dst: ipmi::transport::getSetStatus
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:794,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:795,1
    - Dst: ipmi::transport::getSetStatus
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:799,1
    - Dst: ipmi::transport::responseParamSetLocked
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:802,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:805,1
    - Dst: ipmi::transport::getSetStatus
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:808,1
    - Dst: responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:810,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:812,1
    - Dst: ipmi::transport::responseParamNotSupported
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:814,1
    - Dst: ipmi::transport::responseParamReadOnly
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:819,1
    - Dst: ipmi::transport::responseParamReadOnly
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:824,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:828,1
    - Dst: responseCommandNotAvailable
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:830,1
    - Dst: ipmi::transport::unpackT
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:832,1
    - Dst: ipmi::transport::unpackFinal
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:833,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:834,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:835,1
    - Dst: unpack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:841,1
    - Dst: responseReqDataLenInvalid
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:843,1
    - Dst: ipmi::transport::unpackFinal
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:845,1
    - Dst: responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:848,1
    - Dst: static_cast<IPSrc>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:850,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:850,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:857,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:858,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:861,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:862,1
    - Dst: responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:865,1
    - Dst: ipmi::transport::responseParamNotSupported
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:867,1
    - Dst: ipmi::transport::unpackT
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:871,1
    - Dst: ipmi::transport::unpackFinal
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:872,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:873,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:874,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:878,1
    - Dst: responseCommandNotAvailable
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:880,1
    - Dst: stdplus::maskToPfx
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:882,1
    - Dst: ipmi::transport::unpackT
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:882,1
    - Dst: ipmi::transport::unpackFinal
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:883,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:884,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:885,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:889,1
    - Dst: responseCommandNotAvailable
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:891,1
    - Dst: ipmi::transport::unpackT
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:893,1
    - Dst: ipmi::transport::unpackFinal
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:894,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:895,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:896,1
    - Dst: ipmi::transport::unpackT
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:900,1
    - Dst: ipmi::transport::unpackFinal
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:901,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:902,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:903,1
    - Dst: unpack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:911,1
    - Dst: responseReqDataLenInvalid
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:913,1
    - Dst: ipmi::transport::unpackFinal
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:915,1
    - Dst: responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:919,1
    - Dst: static_cast<uint16_t>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:922,1
    - Dst: responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:931,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:934,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:935,1
    - Dst: ipmi::transport::responseParamReadOnly
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:942,1
    - Dst: unpack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:947,1
    - Dst: responseReqDataLenInvalid
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:949,1
    - Dst: ipmi::transport::unpackFinal
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:951,1
    - Dst: static_cast<IPFamilyEnables>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:952,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:955,1
    - Dst: ipmi::transport::responseParamNotSupported
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:958,1
    - Dst: ipmi::transport::responseParamNotSupported
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:960,1
    - Dst: ipmi::transport::responseParamReadOnly
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:965,1
    - Dst: unpack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:974,1
    - Dst: responseReqDataLenInvalid
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:976,1
    - Dst: ipmi::transport::unpackT
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:978,1
    - Dst: unpack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:979,1
    - Dst: responseReqDataLenInvalid
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:981,1
    - Dst: ipmi::transport::unpackFinal
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:983,1
    - Dst: responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:986,1
    - Dst: responseParmOutOfRange
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:993,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:995,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:999,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1001,1
    - Dst: ipmi::transport::responseParamReadOnly
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1006,1
    - Dst: unpack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1012,1
    - Dst: responseReqDataLenInvalid
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1014,1
    - Dst: ipmi::transport::unpackFinal
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1016,1
    - Dst: std::bitset::any
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1019,1
    - Dst: ipmi::transport::responseParamNotSupported
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1021,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1025,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1026,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1027,1
    - Dst: ipmi::transport::unpackT
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1031,1
    - Dst: ipmi::transport::unpackFinal
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1032,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1033,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1034,1
    - Dst: ipmi::transport::unpackT
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1038,1
    - Dst: ipmi::transport::unpackFinal
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1039,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1040,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1041,1
    - Dst: unpack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1046,1
    - Dst: responseReqDataLenInvalid
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1048,1
    - Dst: ipmi::transport::unpackFinal
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1050,1
    - Dst: responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1053,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1055,1
    - Dst: ipmi::transport::unpackT
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1059,1
    - Dst: ipmi::transport::unpackFinal
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1060,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1062,1
    - Dst: unpack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1069,1
    - Dst: responseReqDataLenInvalid
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1071,1
    - Dst: ipmi::transport::unpackFinal
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1073,1
    - Dst: responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1077,1
    - Dst: getCipherConfigObject
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1081,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1085,1
    - Dst: response
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1090,1
    - Dst: ipmi::transport::setLanOem
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1097,1
    - Dst: ipmi::transport::responseParamNotSupported
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1101,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 229
    argCount: 5
    argNames:
    - ctx
    - channelBits
    - reserved1
    - parameter
    - ' req'
    argTypes:
    - Context::ptr
    - uint4_t
    - uint4_t
    - uint8_t
    - message::Payload
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1102
      start: 756
    functionDepth: 2
    functionLinenumber: 756
    functionLinenumberEnd: 1102
    functionName: ipmi::transport::setLanInt
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 3
    functionsReached:
    - ipmi::transport::unpackT
    - static_cast<uint8_t>
    - ipmi::transport::responseParamNotSupported
    - ipmi::transport::responseParamReadOnly
    - static_cast<SetStatus>
    - std::bitset::any
    - ipmi::transport::responseParamSetLocked
    - ipmi::transport::isLanChannel
    - convertCurrentChannelNum
    - responseCommandNotAvailable
    - ipmi::transport::channelCall
    - ipmi::transport::unpackFinal
    - responseInvalidFieldRequest
    - stdplus::maskToPfx
    - isValidChannel
    - lg2::error
    - response
    - static_cast<LanParam>
    - ipmi::transport::getSetStatus
    - unpack
    - responseReqDataLenInvalid
    - responseSuccess
    - responseParmOutOfRange
    - ipmi::transport::setLanOem
    - getCipherConfigObject
    - static_cast<IPFamilyEnables>
    - static_cast<uint16_t>
    - static_cast<IPSrc>
    linkageType: ''
    returnType: RspType<>
    signature: "RspType<> setLanInt(Context::ptr ctx, uint4_t channelBits, uint4_t
      reserved1,\n                    uint8_t parameter, message::Payload& req)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::setLanInt
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1109,1
    - Dst: response
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1113,1
    - Dst: name
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1117,1
    - Dst: responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1119,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 5
    argNames:
    - ctx
    - channelBits
    - reserved1
    - parameter
    - ' req'
    argTypes:
    - Context::ptr
    - uint4_t
    - uint4_t
    - uint8_t
    - message::Payload
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1123
      start: 1104
    functionDepth: 3
    functionLinenumber: 1104
    functionLinenumberEnd: 1123
    functionName: ipmi::transport::setLan
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::transport::setLanInt
    - responseInvalidFieldRequest
    - response
    - name
    linkageType: ''
    returnType: RspType<>
    signature: "RspType<> setLan(Context::ptr ctx, uint4_t channelBits, uint4_t reserved1,\n
      \                uint8_t parameter, message::Payload& req)"
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1131,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1135,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1135,1
    - Dst: convertCurrentChannelNum
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1138,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1139,1
    - Dst: isValidChannel
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1140,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1142,1
    - Dst: responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1143,1
    - Dst: ipmi::transport::isLanChannel
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1146,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1148,1
    - Dst: responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1149,1
    - Dst: cipher::getCipherList
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1158,1
    - Dst: static_cast<LanParam>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1165,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1172,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1178,1
    - Dst: types::enum_cast<uint2_t>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1178,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1179,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1179,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1184,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1185,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1185,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1190,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1191,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1192,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1193,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1194,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1195,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1195,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1199,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1205,1
    - Dst: stdplus::raw::asView<char>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1205,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1206,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1206,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1210,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1213,1
    - Dst: types::enum_cast<uint4_t>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1213,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1214,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1214,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1218,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1219,1
    - Dst: stdplus::raw::asView<char>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1219,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1220,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1220,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1224,1
    - Dst: stdplus::pfxToMask<stdplus::In4Addr>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1230,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1231,1
    - Dst: stdplus::raw::asView<char>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1231,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1232,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1232,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1236,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1237,1
    - Dst: stdplus::raw::asView<char>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1237,1
    - Dst: auto::value_or
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1238,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1239,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1239,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1244,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1249,1
    - Dst: stdplus::raw::asView<char>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1249,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1250,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1250,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1254,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1263,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1264,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1264,1
    - Dst: getChannelSessionSupport
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1268,1
    - Dst: responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1271,1
    - Dst: responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1275,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1277,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1277,1
    - Dst: std::vector::size
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1277,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1278,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1278,1
    - Dst: getChannelSessionSupport
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1282,1
    - Dst: responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1285,1
    - Dst: responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1289,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1291,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1292,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1292,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1300,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1301,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1301,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1305,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1305,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1306,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1306,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1310,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1311,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1315,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1316,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1316,1
    - Dst: responseParmOutOfRange
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1322,1
    - Dst: ipmi::transport::getLanIPv6Address
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1324,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1325,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1325,1
    - Dst: responseParmOutOfRange
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1331,1
    - Dst: ipmi::transport::getLanIPv6Address
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1333,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1334,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1334,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1340,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1342,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1343,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1343,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1348,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1351,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1354,1
    - Dst: stdplus::raw::asView<char>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1354,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1355,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1355,1
    - Dst: ipmi::transport::channelCall
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1360,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1365,1
    - Dst: stdplus::raw::asView<char>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1365,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1366,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1366,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1370,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1371,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1371,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1375,1
    - Dst: stdplus::raw::asView<char>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1375,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1376,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1376,1
    - Dst: getCipherConfigObject
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1383,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1388,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1389,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1389,1
    - Dst: response
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1393,1
    - Dst: ipmi::transport::getLanOem
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1400,1
    - Dst: ipmi::transport::responseParamNotSupported
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1403,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 178
    argCount: 7
    argNames:
    - ctx
    - channelBits
    - reserved
    - revOnly
    - parameter
    - set
    - block
    argTypes:
    - Context::ptr
    - uint4_t
    - uint3_t
    - bool
    - uint8_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1404
      start: 1125
    functionDepth: 3
    functionLinenumber: 1125
    functionLinenumberEnd: 1404
    functionName: ipmi::transport::getLan
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - ipmi::transport::responseParamNotSupported
    - getChannelSessionSupport
    - responseUnspecifiedError
    - ipmi::transport::isLanChannel
    - convertCurrentChannelNum
    - ipmi::transport::channelCall
    - cipher::getCipherList
    - types::enum_cast<uint4_t>
    - responseInvalidFieldRequest
    - isValidChannel
    - std::move
    - stdplus::raw::asView<char>
    - lg2::error
    - message::Payload::pack
    - response
    - static_cast<LanParam>
    - std::vector::size
    - responseSuccess
    - responseParmOutOfRange
    - ipmi::transport::getLanIPv6Address
    - ipmi::transport::getLanOem
    - getCipherConfigObject
    - stdplus::pfxToMask<stdplus::In4Addr>
    - at
    - auto::value_or
    - types::enum_cast<uint2_t>
    linkageType: ''
    returnType: RspType<message::Payload>
    signature: "RspType<message::Payload> getLan(Context::ptr ctx, uint4_t channelBits,\n
      \                                uint3_t reserved, bool revOnly,\n                                 uint8_t
      parameter, uint8_t set, uint8_t block)"
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: convertCurrentChannelNum
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1414,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1415,1
    - Dst: isValidChannel
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1417,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1419,1
    - Dst: responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1420,1
    - Dst: ipmi::getChannelName
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1423,1
    - Dst: auto::empty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1424,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1426,1
    - Dst: responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1428,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1434,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1436,1
    - Dst: responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1440,1
    - Dst: static_cast<SolConfParam>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1443,1
    - Dst: unpack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1448,1
    - Dst: fullyUnpacked
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1448,1
    - Dst: responseReqDataLenInvalid
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1450,1
    - Dst: ipmi::setDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1453,1
    - Dst: responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1456,1
    - Dst: unpack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1465,1
    - Dst: fullyUnpacked
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1465,1
    - Dst: responseReqDataLenInvalid
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1467,1
    - Dst: ipmi::setDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1470,1
    - Dst: responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1473,1
    - Dst: unpack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1484,1
    - Dst: fullyUnpacked
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1486,1
    - Dst: responseReqDataLenInvalid
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1488,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1491,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1492,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1493,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1495,1
    - Dst: ipmi::setDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1498,1
    - Dst: responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1501,1
    - Dst: ipmi::setDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1504,1
    - Dst: responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1508,1
    - Dst: ipmi::setDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1511,1
    - Dst: responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1515,1
    - Dst: unpack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1523,1
    - Dst: fullyUnpacked
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1523,1
    - Dst: responseReqDataLenInvalid
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1525,1
    - Dst: responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1530,1
    - Dst: ipmi::setDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1533,1
    - Dst: responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1537,1
    - Dst: ipmi::setDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1540,1
    - Dst: responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1543,1
    - Dst: unpack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1553,1
    - Dst: fullyUnpacked
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1554,1
    - Dst: responseReqDataLenInvalid
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1556,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1559,1
    - Dst: ipmi::setDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1560,1
    - Dst: responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1563,1
    - Dst: ipmi::setDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1566,1
    - Dst: responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1570,1
    - Dst: ipmi::transport::responseWriteReadParameter
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1576,1
    - Dst: ipmi::transport::responseParamNotSupported
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1582,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1584,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 87
    argCount: 4
    argNames:
    - ctx
    - channelBits
    - parameter
    - ' req'
    argTypes:
    - Context::ptr
    - uint4_t
    - uint8_t
    - message::Payload
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1585
      start: 1410
    functionDepth: 1
    functionLinenumber: 1410
    functionLinenumberEnd: 1585
    functionName: ipmi::transport::setSolConfParams
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::setDbusProperty
    - ipmi::getService
    - ipmi::transport::responseWriteReadParameter
    - responseUnspecifiedError
    - responseInvalidFieldRequest
    - ipmi::getChannelName
    - auto::empty
    - isValidChannel
    - convertCurrentChannelNum
    - static_cast<uint8_t>
    - unpack
    - responseReqDataLenInvalid
    - ipmi::responseInvalidFieldRequest
    - ipmi::transport::responseParamNotSupported
    - fullyUnpacked
    - static_cast<SolConfParam>
    - responseSuccess
    - lg2::error
    linkageType: ''
    returnType: RspType<>
    signature: "RspType<> setSolConfParams(Context::ptr ctx, uint4_t channelBits,\n
      \                          uint4_t /*reserved*/, uint8_t parameter,\n                           message::Payload&
      req)"
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1593,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1596,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1596,1
    - Dst: convertCurrentChannelNum
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1599,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1600,1
    - Dst: isValidChannel
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1602,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1604,1
    - Dst: responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1605,1
    - Dst: ipmi::getChannelName
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1608,1
    - Dst: auto::empty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1609,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1611,1
    - Dst: responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1613,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1619,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1621,1
    - Dst: responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1625,1
    - Dst: static_cast<SolConfParam>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1628,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1633,1
    - Dst: responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1636,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1638,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1639,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1639,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1644,1
    - Dst: responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1647,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1649,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1650,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1650,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1659,1
    - Dst: responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1662,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1665,1
    - Dst: responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1669,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1672,1
    - Dst: responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1676,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1678,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1679,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1679,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1685,1
    - Dst: responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1689,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1692,1
    - Dst: responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1695,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1697,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1698,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1698,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1706,1
    - Dst: responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1709,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1712,1
    - Dst: responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1716,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1718,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1719,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1719,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1724,1
    - Dst: static_cast<uint16_t>
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1724,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1725,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1725,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1729,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1730,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1730,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1736,1
    - Dst: ipmi::transport::responseParamNotSupported
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1741,1
    - Dst: message::Payload::pack
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1763,1
    - Dst: responseSuccess
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1764,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1764,1
    - Dst: ipmi::transport::responseParamNotSupported
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1768,1
    - Dst: ipmi::transport::responseParamNotSupported
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1771,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 104
    argCount: 4
    argNames:
    - ctx
    - channelBits
    - revOnly
    - parameter
    argTypes:
    - Context::ptr
    - uint4_t
    - bool
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1772
      start: 1587
    functionDepth: 1
    functionLinenumber: 1587
    functionLinenumberEnd: 1772
    functionName: ipmi::transport::getSolConfParams
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 0
    functionsReached:
    - message::Payload::pack
    - ipmi::getService
    - responseUnspecifiedError
    - responseInvalidFieldRequest
    - responseSuccess
    - ipmi::getChannelName
    - convertCurrentChannelNum
    - isValidChannel
    - static_cast<uint8_t>
    - auto::empty
    - static_cast<SolConfParam>
    - ipmi::transport::responseParamNotSupported
    - ipmi::getDbusProperty
    - std::move
    - static_cast<uint16_t>
    - lg2::error
    linkageType: ''
    returnType: RspType<message::Payload>
    signature: "RspType<message::Payload> getSolConfParams(\n    Context::ptr ctx,
      uint4_t channelBits, uint3_t /*reserved*/, bool revOnly,\n    uint8_t parameter,
      uint8_t /*set*/, uint8_t /*block*/)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1781,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1784,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1787,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/transporthandler.cpp:1791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1795
      start: 1779
    functionDepth: 1
    functionLinenumber: 1779
    functionLinenumberEnd: 1795
    functionName: registerNetFnTransportFunctions
    functionSourceFile: /src/phosphor-host-ipmid/transporthandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::registerHandler
    linkageType: ''
    returnType: void
    signature: void registerNetFnTransportFunctions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: ipmi::responseParmNotSupported
    functionSourceFile: /src/phosphor-host-ipmid/chassishandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::response
    linkageType: ''
    returnType: auto
    signature: auto responseParmNotSupported()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 84
    functionName: ipmi::responsefailSetInProgress
    functionSourceFile: /src/phosphor-host-ipmid/chassishandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::response
    linkageType: ''
    returnType: auto
    signature: auto responsefailSetInProgress()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: ipmi::responseParmNotSupported
    functionSourceFile: /src/phosphor-host-ipmid/chassishandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::response
    linkageType: ''
    returnType: auto
    signature: auto responseParmNotSupported()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 84
    functionName: ipmi::responsefailSetInProgress
    functionSourceFile: /src/phosphor-host-ipmid/chassishandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::response
    linkageType: ''
    returnType: auto
    signature: auto responsefailSetInProgress()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<settings::Objects>
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 171
    functionName: chassis::internal::cache::getObjects
    functionSourceFile: /src/phosphor-host-ipmid/chassishandler.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<settings::Objects>
    linkageType: ''
    returnType: settings::Objects
    signature: settings::Objects & getObjects()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<settings::Objects>
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 171
    functionName: chassis::internal::cache::getObjects
    functionSourceFile: /src/phosphor-host-ipmid/chassishandler.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<settings::Objects>
    linkageType: ''
    returnType: settings::Objects
    signature: settings::Objects & getObjects()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<settings::Objects>
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 171
    functionName: chassis::internal::cache::getObjects
    functionSourceFile: /src/phosphor-host-ipmid/chassishandler.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<settings::Objects>
    linkageType: ''
    returnType: settings::Objects
    signature: settings::Objects & getObjects()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<settings::Objects>
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 171
    functionName: chassis::internal::cache::getObjects
    functionSourceFile: /src/phosphor-host-ipmid/chassishandler.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<settings::Objects>
    linkageType: ''
    returnType: settings::Objects
    signature: settings::Objects & getObjects()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<settings::Objects>
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 171
    functionName: chassis::internal::cache::getObjects
    functionSourceFile: /src/phosphor-host-ipmid/chassishandler.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<settings::Objects>
    linkageType: ''
    returnType: settings::Objects
    signature: settings::Objects & getObjects()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<settings::Objects>
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 171
    functionName: chassis::internal::cache::getObjects
    functionSourceFile: /src/phosphor-host-ipmid/chassishandler.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<settings::Objects>
    linkageType: ''
    returnType: settings::Objects
    signature: settings::Objects & getObjects()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<settings::Objects>
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 171
    functionName: chassis::internal::cache::getObjects
    functionSourceFile: /src/phosphor-host-ipmid/chassishandler.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<settings::Objects>
    linkageType: ''
    returnType: settings::Objects
    signature: settings::Objects & getObjects()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<settings::Objects>
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 171
    functionName: chassis::internal::cache::getObjects
    functionSourceFile: /src/phosphor-host-ipmid/chassishandler.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<settings::Objects>
    linkageType: ''
    returnType: settings::Objects
    signature: settings::Objects & getObjects()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getDbusObject
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:202,1
    - Dst: ipmi::getDbusObject
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:205,1
    - Dst: ipmi::getAllDbusProperties
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:208,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:210,1
    - Dst: std::get<std::string>
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:214,1
    - Dst: std::get<std::string>
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:217,1
    - Dst: std::get<uint8_t>
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:220,1
    - Dst: std::get<std::string>
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:224,1
    - Dst: std::get<std::string>
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:230,1
    - Dst: pack
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:261,1
    - Dst: std::getline
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:263,1
    - Dst: ipmi::tryParse
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:266,1
    - Dst: pack
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:268,1
    - Dst: pack
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:272,1
    - Dst: pack
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:274,1
    - Dst: std::get<std::string>
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:277,1
    - Dst: inet_pton
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:289,1
    - Dst: auto::c_str
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:289,1
    - Dst: reinterpret_cast<void*>
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:290,1
    - Dst: std::vector::data
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:290,1
    - Dst: pack
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:292,1
    - Dst: pack
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:294,1
    - Dst: inet_pton
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:297,1
    - Dst: auto::c_str
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:297,1
    - Dst: reinterpret_cast<void*>
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:298,1
    - Dst: std::vector::data
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:298,1
    - Dst: pack
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:299,1
    - Dst: commit<InternalFailure>
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:303,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:312,1
    - Dst: data
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:313,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:317,1
    - Dst: std::copy
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:321,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:327,1
    - Dst: std::copy
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:331,1
    - Dst: std::printf
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:335,1
    - Dst: std::printf
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:339,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 49
    argCount: 1
    argNames:
    - ' payload'
    argTypes:
    - ipmi::message::Payload
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 344
    functionName: getHostNetworkData
    functionSourceFile: /src/phosphor-host-ipmid/chassishandler.cpp
    functionUses: 0
    functionsReached:
    - inet_pton
    - auto::c_str
    - ipmi::getAllDbusProperties
    - pack
    - std::get<uint8_t>
    - commit<InternalFailure>
    - size
    - ipmi::tryParse
    - std::getline
    - data
    - ipmi::getDbusObject
    - std::copy
    - ipmi::getDbusProperty
    - std::printf
    - lg2::error
    - std::vector::data
    - reinterpret_cast<void*>
    - std::get<std::string>
    linkageType: ''
    returnType: int
    signature: int getHostNetworkData(ipmi::message::Payload& payload)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:364,1
    - Dst: inet_ntop
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:366,1
    - Dst: std::memcpy
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:373,1
    - Dst: inet_ntop
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:375,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - family
    - data
    - offset
    - addrSize
    argTypes:
    - uint8_t
    - uint8_t*
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 386
    functionName: getAddrStr
    functionSourceFile: /src/phosphor-host-ipmid/chassishandler.cpp
    functionUses: 0
    functionsReached:
    - inet_ntop
    - std::memcpy
    linkageType: ''
    returnType: std::string
    signature: "std::string getAddrStr(uint8_t family, uint8_t* data, uint8_t offset,\n
      \                      uint8_t addrSize)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:411,1
    - Dst: unpack
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:413,1
    - Dst: fullyUnpacked
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:413,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:415,1
    - Dst: std::vector::data
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:419,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:423,1
    - Dst: std::equal
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:426,1
    - Dst: std::all_of
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:431,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:440,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:441,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:447,1
    - Dst: std::equal
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:450,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:454,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:455,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:460,1
    - Dst: std::copy
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:465,1
    - Dst: std::ostream_iterator<int>
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:467,1
    - Dst: std::stringstream::str
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:468,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:472,1
    - Dst: std::copy
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:476,1
    - Dst: std::ostream_iterator<int>
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:479,1
    - Dst: std::stringstream::str
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:480,1
    - Dst: std::string::empty
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:482,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:490,1
    - Dst: std::copy
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:495,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:503,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:522,1
    - Dst: getAddrStr
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:525,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:530,1
    - Dst: getAddrStr
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:534,1
    - Dst: std::to_string
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:541,1
    - Dst: ipmi::getDbusObject
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:547,1
    - Dst: ipmi::getDbusObject
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:549,1
    - Dst: ipmi::setDbusProperty
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:552,1
    - Dst: std::string
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:554,1
    - Dst: ipmi::setDbusProperty
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:555,1
    - Dst: ipmi::setDbusProperty
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:558,1
    - Dst: ipmi::setDbusProperty
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:561,1
    - Dst: std::string
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:563,1
    - Dst: ipmi::setDbusProperty
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:564,1
    - Dst: std::string
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:567,1
    - Dst: ipmi::setDbusProperty
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:568,1
    - Dst: std::string
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:571,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:573,1
    - Dst: commit<InternalFailure>
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:578,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:579,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 83
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - ipmi::message::Payload
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 388
    functionDepth: 1
    functionLinenumber: 388
    functionLinenumberEnd: 584
    functionName: setHostNetworkData
    functionSourceFile: /src/phosphor-host-ipmid/chassishandler.cpp
    functionUses: 0
    functionsReached:
    - getAddrStr
    - std::stringstream::str
    - std::equal
    - std::string::empty
    - ipmi::getDbusObject
    - commit<InternalFailure>
    - std::ostream_iterator<int>
    - std::all_of
    - std::string
    - std::copy
    - elog<InternalFailure>
    - ipmi::setDbusProperty
    - size
    - std::to_string
    - lg2::debug
    - lg2::error
    - unpack
    - fullyUnpacked
    - std::vector::data
    linkageType: ''
    returnType: ipmi::Cc
    signature: ipmi::Cc setHostNetworkData(ipmi::message::Payload& data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmid_get_sd_bus_connection
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:588,1
    - Dst: ipmi::getDbusObject
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:590,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:593,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:596,1
    - Dst: std::get<uint32_t>
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:600,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 586
    functionDepth: 1
    functionLinenumber: 586
    functionLinenumberEnd: 601
    functionName: getPOHCounter
    functionSourceFile: /src/phosphor-host-ipmid/chassishandler.cpp
    functionUses: 0
    functionsReached:
    - std::get<uint32_t>
    - ipmi::getService
    - ipmid_get_sd_bus_connection
    - ipmi::getDbusObject
    - ipmi::getDbusProperty
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t getPOHCounter()
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ipmid_get_sd_bus_connection
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:629,1
    - Dst: ipmi::getDbusObject
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:632,1
    - Dst: ipmi::getAllDbusProperties
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:646,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:652,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:654,1
    - Dst: std::get_if<bool>
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:657,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:662,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:663,1
    - Dst: std::get_if<bool>
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:665,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:670,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:671,1
    - Dst: std::get_if<bool>
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:673,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:678,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:679,1
    - Dst: std::get_if<bool>
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:681,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:686,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:687,1
    - Dst: std::get_if<uint8_t>
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:689,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:694,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:695,1
    - Dst: std::get_if<uint8_t>
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:697,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:702,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:703,1
    - Dst: std::get_if<uint8_t>
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:705,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:710,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:711,1
    - Dst: std::get_if<uint8_t>
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:713,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:718,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:719,1
    - Dst: std::get_if<uint8_t>
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:721,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:726,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:727,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:730,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 613
    functionDepth: 1
    functionLinenumber: 613
    functionLinenumberEnd: 735
    functionName: ipmiGetChassisCap
    functionSourceFile: /src/phosphor-host-ipmid/chassishandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::responseSuccess
    - ipmi::responseUnspecifiedError
    - ipmi::getAllDbusProperties
    - ipmid_get_sd_bus_connection
    - std::get_if<bool>
    - std::get_if<uint8_t>
    - ipmi::getDbusObject
    - lg2::error
    linkageType: ''
    returnType: "ipmi::RspType<bool,    // chassis intrusion sensor\n              bool,
      \   // chassis Front panel lockout\n              bool,    // chassis NMI\n
      \             bool,    // chassis power interlock\n              uint4_t, //
      reserved\n              uint8_t, // chassis FRU info Device Address\n              uint8_t,
      // chassis SDR device address\n              uint8_t, // chassis SEL device
      address\n              uint8_t, // chassis system management device address\n
      \             uint8_t  // chassis bridge device address\n              >"
    signature: "ipmi::RspType<bool,    // chassis intrusion sensor\n              bool,
      \   // chassis Front panel lockout\n              bool,    // chassis NMI\n
      \             bool,    // chassis power interlock\n              uint4_t, //
      reserved\n              uint8_t, // chassis FRU info Device Address\n              uint8_t,
      // chassis SDR device address\n              uint8_t, // chassis SEL device
      address\n              uint8_t, // chassis system management device address\n
      \             uint8_t  // chassis bridge device address\n              > ipmiGetChassisCap()"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:765,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:766,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:771,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:773,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:777,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:779,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:784,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:786,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:791,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:793,1
    - Dst: std::optional<uint8_t>::has_value
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:796,1
    - Dst: std::optional<uint8_t>::value
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:798,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:800,1
    - Dst: std::optional<uint8_t>::value
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:802,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:803,1
    - Dst: ipmi::getDbusObject
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:811,1
    - Dst: ipmi::setDbusProperty
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:813,1
    - Dst: ipmi::setDbusProperty
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:820,1
    - Dst: ipmi::setDbusProperty
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:827,1
    - Dst: ipmi::setDbusProperty
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:833,1
    - Dst: ipmi::setDbusProperty
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:839,1
    - Dst: ipmi::setDbusProperty
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:845,1
    - Dst: std::optional<uint8_t>::has_value
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:851,1
    - Dst: ipmi::setDbusProperty
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:853,1
    - Dst: std::optional<uint8_t>::value
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:858,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:863,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:865,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:867,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 42
    argCount: 8
    argNames:
    - intrusion
    - fpLockout
    - reserved1
    - fruDeviceAddr
    - sdrDeviceAddr
    - selDeviceAddr
    - smDeviceAddr
    - bridgeDeviceAddr
    argTypes:
    - bool
    - bool
    - uint6_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - std::optional<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 868
      start: 749
    functionDepth: 1
    functionLinenumber: 749
    functionLinenumberEnd: 868
    functionName: ipmiSetChassisCap
    functionSourceFile: /src/phosphor-host-ipmid/chassishandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::setDbusProperty
    - ipmi::responseSuccess
    - ipmi::responseUnspecifiedError
    - std::optional<uint8_t>::value
    - ipmi::responseInvalidFieldRequest
    - ipmi::getDbusObject
    - std::optional<uint8_t>::has_value
    - lg2::error
    linkageType: ''
    returnType: ipmi::RspType<>
    signature: "ipmi::RspType<> ipmiSetChassisCap(\n    bool intrusion, bool fpLockout,
      uint6_t reserved1,\n\n    uint8_t fruDeviceAddr,\n\n    uint8_t sdrDeviceAddr,\n\n
      \   uint8_t selDeviceAddr,\n\n    uint8_t smDeviceAddr,\n\n    std::optional<uint8_t>
      bridgeDeviceAddr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::format
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:878,1
    - Dst: sdbusplus::common::xyz::openbmc_project::state::convertForMessage
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:882,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:887,1
    - Dst: ipmi::setDbusProperty
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:891,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:897,1
    - Dst: boost::system::error_code::message
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:899,1
    - Dst: lg2::info
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:902,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' ctx'
    - transition
    argTypes:
    - ipmi::Context::ptr
    - State::Host::Transition
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 873
    functionDepth: 1
    functionLinenumber: 873
    functionLinenumberEnd: 906
    functionName: initiateHostStateTransition
    functionSourceFile: /src/phosphor-host-ipmid/chassishandler.cpp
    functionUses: 0
    functionsReached:
    - std::format
    - ipmi::setDbusProperty
    - sdbusplus::common::xyz::openbmc_project::state::convertForMessage
    - ipmi::getService
    - boost::system::error_code::message
    - lg2::info
    - lg2::error
    linkageType: ''
    returnType: int
    signature: "int initiateHostStateTransition(ipmi::Context::ptr& ctx,\n                                State::Host::Transition
      transition)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:918,1
    - Dst: sdbusplus::common::xyz::openbmc_project::state::convertForMessage
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:923,1
    - Dst: ipmi::setDbusProperty
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:928,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:934,1
    - Dst: boost::system::error_code::message
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:935,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' ctx'
    - transition
    argTypes:
    - ipmi::Context::ptr
    - State::Chassis::Transition
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 941
      start: 911
    functionDepth: 1
    functionLinenumber: 911
    functionLinenumberEnd: 941
    functionName: initiateChassisStateTransition
    functionSourceFile: /src/phosphor-host-ipmid/chassishandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::setDbusProperty
    - sdbusplus::common::xyz::openbmc_project::state::convertForMessage
    - ipmi::getService
    - boost::system::error_code::message
    - lg2::error
    linkageType: ''
    returnType: int
    signature: "int initiateChassisStateTransition(ipmi::Context::ptr& ctx,\n                                   State::Chassis::Transition
      transition)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getDbusObject
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:951,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:954,1
    - Dst: boost::system::error_code::message
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:955,1
    - Dst: ipmi::callDbusMethod
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:959,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:963,1
    - Dst: boost::system::error_code::message
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:963,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:964,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ' ctx'
    argTypes:
    - ipmi::Context::ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 969
      start: 946
    functionDepth: 0
    functionLinenumber: 946
    functionLinenumberEnd: 969
    functionName: doNmi
    functionSourceFile: /src/phosphor-host-ipmid/chassishandler.cpp
    functionUses: 0
    functionsReached:
    - boost::system::error_code::message
    - ipmi::callDbusMethod
    - ipmi::getDbusObject
    - elog<InternalFailure>
    - lg2::error
    linkageType: ''
    returnType: int
    signature: int doNmi(ipmi::Context::ptr& ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: chassis::internal::cache::getObjects
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:994,1
    - Dst: map::at
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:999,1
    - Dst: serviceMap::at
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1001,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1002,1
    - Dst: getSdBus
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1003,1
    - Dst: RestorePolicy::convertPolicyFromString
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1006,1
    - Dst: std::get<std::string>
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1007,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1008,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1012,1
    - Dst: map::at
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1015,1
    - Dst: reset
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1017,1
    - Dst: std::make_optional
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1020,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1021
      start: 989
    functionDepth: 1
    functionLinenumber: 989
    functionLinenumberEnd: 1021
    functionName: power_policy::getPowerRestorePolicy
    functionSourceFile: /src/phosphor-host-ipmid/chassishandler.cpp
    functionUses: 0
    functionsReached:
    - chassis::internal::cache::getObjects
    - RestorePolicy::convertPolicyFromString
    - getSdBus
    - serviceMap::at
    - at
    - std::make_optional
    - ipmi::getDbusProperty
    - map::at
    - lg2::error
    - reset
    - std::get<std::string>
    linkageType: ''
    returnType: std::optional<uint2_t>
    signature: std::optional<uint2_t> getPowerRestorePolicy()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getSdBus
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1031,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1037,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1039,1
    - Dst: std::get<std::string>
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1042,1
    - Dst: std::string::ends_with
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1043,1
    - Dst: std::string::ends_with
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1044,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1059,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1061,1
    - Dst: static_cast<bool>
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1063,1
    - Dst: std::get<int>
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1063,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1067,1
    - Dst: std::make_optional
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1071,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1072
      start: 1028
    functionDepth: 1
    functionLinenumber: 1028
    functionLinenumberEnd: 1072
    functionName: power_policy::getPowerStatus
    functionSourceFile: /src/phosphor-host-ipmid/chassishandler.cpp
    functionUses: 0
    functionsReached:
    - std::get<int>
    - ipmi::getService
    - getSdBus
    - static_cast<bool>
    - std::string::ends_with
    - ipmi::getDbusProperty
    - std::make_optional
    - lg2::error
    - std::get<std::string>
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> getPowerStatus()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSdBus
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1084,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1087,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1091,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1093,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1097,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 1079
    functionDepth: 1
    functionLinenumber: 1079
    functionLinenumberEnd: 1103
    functionName: power_policy::getACFailStatus
    functionSourceFile: /src/phosphor-host-ipmid/chassishandler.cpp
    functionUses: 0
    functionsReached:
    - std::get<bool>
    - ipmi::getService
    - getSdBus
    - ipmi::getDbusProperty
    - lg2::error
    linkageType: ''
    returnType: bool
    signature: bool getACFailStatus()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: chassis::internal::cache::getObjects
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:994,1
    - Dst: map::at
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:999,1
    - Dst: serviceMap::at
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1001,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1002,1
    - Dst: getSdBus
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1003,1
    - Dst: RestorePolicy::convertPolicyFromString
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1006,1
    - Dst: std::get<std::string>
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1007,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1008,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1012,1
    - Dst: map::at
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1015,1
    - Dst: reset
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1017,1
    - Dst: std::make_optional
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1020,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1021
      start: 989
    functionDepth: 1
    functionLinenumber: 989
    functionLinenumberEnd: 1021
    functionName: power_policy::getPowerRestorePolicy
    functionSourceFile: /src/phosphor-host-ipmid/chassishandler.cpp
    functionUses: 0
    functionsReached:
    - chassis::internal::cache::getObjects
    - RestorePolicy::convertPolicyFromString
    - getSdBus
    - serviceMap::at
    - at
    - std::make_optional
    - ipmi::getDbusProperty
    - map::at
    - lg2::error
    - reset
    - std::get<std::string>
    linkageType: ''
    returnType: std::optional<uint2_t>
    signature: std::optional<uint2_t> getPowerRestorePolicy()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getSdBus
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1031,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1037,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1039,1
    - Dst: std::get<std::string>
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1042,1
    - Dst: std::string::ends_with
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1043,1
    - Dst: std::string::ends_with
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1044,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1059,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1061,1
    - Dst: static_cast<bool>
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1063,1
    - Dst: std::get<int>
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1063,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1067,1
    - Dst: std::make_optional
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1071,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1072
      start: 1028
    functionDepth: 1
    functionLinenumber: 1028
    functionLinenumberEnd: 1072
    functionName: power_policy::getPowerStatus
    functionSourceFile: /src/phosphor-host-ipmid/chassishandler.cpp
    functionUses: 0
    functionsReached:
    - std::get<int>
    - ipmi::getService
    - getSdBus
    - static_cast<bool>
    - std::string::ends_with
    - ipmi::getDbusProperty
    - std::make_optional
    - lg2::error
    - std::get<std::string>
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> getPowerStatus()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSdBus
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1084,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1087,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1091,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1093,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1097,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 1079
    functionDepth: 1
    functionLinenumber: 1079
    functionLinenumberEnd: 1103
    functionName: power_policy::getACFailStatus
    functionSourceFile: /src/phosphor-host-ipmid/chassishandler.cpp
    functionUses: 0
    functionsReached:
    - std::get<bool>
    - ipmi::getService
    - getSdBus
    - ipmi::getDbusProperty
    - lg2::error
    linkageType: ''
    returnType: bool
    signature: bool getACFailStatus()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1113,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1117,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1124,1
    - Dst: boost::system::error_code::message
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1125,1
    - Dst: std::make_optional
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1128,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - ' ctx'
    - ' buttonPath'
    - ' buttonIntf'
    argTypes:
    - ipmi::Context::ptr
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1129
      start: 1106
    functionDepth: 1
    functionLinenumber: 1106
    functionLinenumberEnd: 1129
    functionName: getButtonDisabled
    functionSourceFile: /src/phosphor-host-ipmid/chassishandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::getService
    - boost::system::error_code::message
    - std::make_optional
    - ipmi::getDbusProperty
    - lg2::error
    linkageType: ''
    returnType: std::optional<bool>
    signature: "std::optional<bool> getButtonDisabled(ipmi::Context::ptr& ctx,\n                                             const
      std::string& buttonPath,\n                                             const
      std::string& buttonIntf)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1137,1
    - Dst: ipmi::setDbusProperty
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1140,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1145,1
    - Dst: boost::system::error_code::message
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - ' ctx'
    - ' buttonPath'
    - ' buttonIntf'
    - disable
    argTypes:
    - ipmi::Context::ptr
    - std::string
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1151
      start: 1131
    functionDepth: 1
    functionLinenumber: 1131
    functionLinenumberEnd: 1151
    functionName: setButtonDisabled
    functionSourceFile: /src/phosphor-host-ipmid/chassishandler.cpp
    functionUses: 0
    functionsReached:
    - boost::system::error_code::message
    - ipmi::setDbusProperty
    - lg2::error
    - ipmi::getService
    linkageType: ''
    returnType: bool
    signature: "bool setButtonDisabled(ipmi::Context::ptr& ctx,\n                              const
      std::string& buttonPath,\n                              const std::string& buttonIntf,
      bool disable)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1155,1
    - Dst: ipmi::getSubTree
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1161,1
    - Dst: std::string
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1161,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1165,1
    - Dst: boost::system::error_code::message
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1167,1
    - Dst: ipmi::getDbusProperty<std::string>
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1175,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1181,1
    - Dst: boost::system::error_code::message
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1184,1
    - Dst: sdbusplus::message::convert_from_string<Intrusion::Status>
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1189,1
    - Dst: std::make_optional
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1195,1
    - Dst: std::make_optional
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1199,1
    - Dst: lg2::warning
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1205,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - ' ctx'
    argTypes:
    - ipmi::Context::ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1213
      start: 1153
    functionDepth: 1
    functionLinenumber: 1153
    functionLinenumberEnd: 1213
    functionName: getChassisIntrusionStatus
    functionSourceFile: /src/phosphor-host-ipmid/chassishandler.cpp
    functionUses: 0
    functionsReached:
    - lg2::warning
    - boost::system::error_code::message
    - std::string
    - ipmi::getSubTree
    - std::make_optional
    - sdbusplus::message::convert_from_string<Intrusion::Status>
    - ipmi::getDbusProperty<std::string>
    - lg2::error
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> getChassisIntrusionStatus(ipmi::Context::ptr& ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: power_policy::getPowerRestorePolicy
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1254,1
    - Dst: power_policy::getPowerStatus
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1255,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1258,1
    - Dst: getButtonDisabled
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1263,1
    - Dst: static_cast<bool>
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1265,1
    - Dst: getButtonDisabled
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1275,1
    - Dst: static_cast<bool>
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1277,1
    - Dst: power_policy::getACFailStatus
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1286,1
    - Dst: getChassisIntrusionStatus
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1289,1
    - Dst: std::optional::value
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1292,1
    - Dst: types::enum_cast<uint2_t>
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1310,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1316,1
    - Dst: uint3_t
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1323,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - ' ctx'
    argTypes:
    - ipmi::Context::ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1332
      start: 1218
    functionDepth: 2
    functionLinenumber: 1218
    functionLinenumberEnd: 1332
    functionName: ipmiGetChassisStatus
    functionSourceFile: /src/phosphor-host-ipmid/chassishandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::responseSuccess
    - ipmi::responseUnspecifiedError
    - getButtonDisabled
    - std::optional::value
    - static_cast<bool>
    - getChassisIntrusionStatus
    - types::enum_cast<uint2_t>
    - power_policy::getPowerRestorePolicy
    - uint3_t
    - power_policy::getACFailStatus
    - power_policy::getPowerStatus
    linkageType: ''
    returnType: "ipmi::RspType<bool,    // Power is on\n              bool,    //
      Power overload\n              bool,    // Interlock\n              bool,    //
      power fault\n              bool,    // power control fault\n              uint2_t,
      // power restore policy\n              bool,    // reserved\n\n              bool,
      \   // AC failed\n              bool,    // last power down caused by a Power
      overload\n              bool,    // last power down caused by a power interlock\n
      \             bool,    // last power down caused by power fault\n              bool,
      \   // last \u2018Power is on\u2019 state was entered via IPMI command\n              uint3_t,
      // reserved\n\n              bool,    // Chassis intrusion active\n              bool,
      \   // Front Panel Lockout active\n              bool,    // Drive Fault\n              bool,
      \   // Cooling/fan fault detected\n              uint2_t, // Chassis Identify
      State\n              bool,    // Chassis Identify command and state info supported\n
      \             bool,    // reserved\n\n              bool,    // Power off button
      disabled\n              bool,    // Reset button disabled\n              bool,
      \   // Diagnostic Interrupt button disabled\n              bool,    // Standby
      (sleep) button disabled\n              bool,    // Power off button disable
      allowed\n              bool,    // Reset button disable allowed\n              bool,
      \   // Diagnostic Interrupt button disable allowed\n              bool     //
      Standby (sleep) button disable allowed\n              >"
    signature: "ipmi::RspType<bool,    // Power is on\n              bool,    // Power
      overload\n              bool,    // Interlock\n              bool,    // power
      fault\n              bool,    // power control fault\n              uint2_t,
      // power restore policy\n              bool,    // reserved\n\n              bool,
      \   // AC failed\n              bool,    // last power down caused by a Power
      overload\n              bool,    // last power down caused by a power interlock\n
      \             bool,    // last power down caused by power fault\n              bool,
      \   // last \u2018Power is on\u2019 state was entered via IPMI command\n              uint3_t,
      // reserved\n\n              bool,    // Chassis intrusion active\n              bool,
      \   // Front Panel Lockout active\n              bool,    // Drive Fault\n              bool,
      \   // Cooling/fan fault detected\n              uint2_t, // Chassis Identify
      State\n              bool,    // Chassis Identify command and state info supported\n
      \             bool,    // reserved\n\n              bool,    // Power off button
      disabled\n              bool,    // Reset button disabled\n              bool,
      \   // Diagnostic Interrupt button disabled\n              bool,    // Standby
      (sleep) button disabled\n              bool,    // Power off button disable
      allowed\n              bool,    // Reset button disable allowed\n              bool,
      \   // Diagnostic Interrupt button disable allowed\n              bool     //
      Standby (sleep) button disable allowed\n              > ipmiGetChassisStatus(ipmi::Context::ptr&
      ctx)"
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 30
    argCount: 1
    argNames:
    - cause
    argTypes:
    - State::Host::RestartCause
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1388
      start: 1346
    functionDepth: 0
    functionLinenumber: 1346
    functionLinenumberEnd: 1388
    functionName: restartCauseToIpmiRestartCause
    functionSourceFile: /src/phosphor-host-ipmid/chassishandler.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IpmiRestartCause
    signature: "IpmiRestartCause restartCauseToIpmiRestartCause(\n    State::Host::RestartCause
      cause)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1401,1
    - Dst: ipmi::getDbusProperty<std::string>
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1405,1
    - Dst: State::Host::convertRestartCauseFromString
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1411,1
    - Dst: types::enum_cast<uint4_t>
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1412,1
    - Dst: restartCauseToIpmiRestartCause
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1413,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1417,1
    - Dst: boost::system::error_code::message
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1419,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - ipmi::Context::ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1422
      start: 1395
    functionDepth: 1
    functionLinenumber: 1395
    functionLinenumberEnd: 1422
    functionName: getRestartCause
    functionSourceFile: /src/phosphor-host-ipmid/chassishandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::getService
    - boost::system::error_code::message
    - types::enum_cast<uint4_t>
    - restartCauseToIpmiRestartCause
    - State::Host::convertRestartCauseFromString
    - ipmi::getDbusProperty<std::string>
    - lg2::error
    linkageType: ''
    returnType: std::optional<uint4_t>
    signature: std::optional<uint4_t> getRestartCause(ipmi::Context::ptr ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getRestartCause
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1430,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1433,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1437,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1438,1
    - Dst: std::optional::value
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1438,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - ipmi::Context::ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1439
      start: 1424
    functionDepth: 2
    functionLinenumber: 1424
    functionLinenumberEnd: 1439
    functionName: ipmiGetSystemRestartCause
    functionSourceFile: /src/phosphor-host-ipmid/chassishandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::responseSuccess
    - ipmi::responseUnspecifiedError
    - getRestartCause
    - std::optional::value
    - static_cast<uint8_t>
    linkageType: ''
    returnType: "ipmi::RspType<uint4_t, // Restart Cause\n              uint4_t, //
      reserved\n              uint8_t  // channel number (not supported)\n              >"
    signature: "ipmi::RspType<uint4_t, // Restart Cause\n              uint4_t, //
      reserved\n              uint8_t  // channel number (not supported)\n              >
      ipmiGetSystemRestartCause(ipmi::Context::ptr ctx)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: initiateHostStateTransition
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1453,1
    - Dst: initiateChassisStateTransition
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1456,1
    - Dst: initiateHostStateTransition
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1460,1
    - Dst: power_policy::getPowerStatus
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1465,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1469,1
    - Dst: auto::value
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1479,1
    - Dst: ipmi::responseCommandNotAvailable
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1481,1
    - Dst: initiateHostStateTransition
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1484,1
    - Dst: initiateHostStateTransition
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1489,1
    - Dst: doNmi
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1492,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1497,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1499,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1503,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1504,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 2
    argNames:
    - ' ctx'
    - chassisControl
    argTypes:
    - ipmi::Context::ptr
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1505
      start: 1446
    functionDepth: 2
    functionLinenumber: 1446
    functionLinenumberEnd: 1505
    functionName: ipmiChassisControl
    functionSourceFile: /src/phosphor-host-ipmid/chassishandler.cpp
    functionUses: 0
    functionsReached:
    - doNmi
    - ipmi::responseSuccess
    - ipmi::responseUnspecifiedError
    - auto::value
    - ipmi::responseCommandNotAvailable
    - ipmi::responseInvalidFieldRequest
    - initiateHostStateTransition
    - initiateChassisStateTransition
    - lg2::error
    - power_policy::getPowerStatus
    linkageType: ''
    returnType: ipmi::RspType<>
    signature: "ipmi::RspType<> ipmiChassisControl(ipmi::Context::ptr& ctx,\n                                   uint8_t
      chassisControl)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1517,1
    - Dst: getSdBus
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1517,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1522,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1524,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1526
      start: 1512
    functionDepth: 1
    functionLinenumber: 1512
    functionLinenumberEnd: 1526
    functionName: getEnclosureIdentifyConnection
    functionSourceFile: /src/phosphor-host-ipmid/chassishandler.cpp
    functionUses: 0
    functionsReached:
    - lg2::error
    - elog<InternalFailure>
    - getSdBus
    - ipmi::getService
    linkageType: ''
    returnType: std::string
    signature: std::string getEnclosureIdentifyConnection()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getEnclosureIdentifyConnection
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1537,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1539,1
    - Dst: ipmi::setDbusProperty
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1543,1
    - Dst: getSdBus
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1543,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1549,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1551,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - flag
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1553
      start: 1533
    functionDepth: 2
    functionLinenumber: 1533
    functionLinenumberEnd: 1553
    functionName: enclosureIdentifyLed
    functionSourceFile: /src/phosphor-host-ipmid/chassishandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::setDbusProperty
    - getEnclosureIdentifyConnection
    - elog<InternalFailure>
    - getSdBus
    - lg2::debug
    - lg2::error
    linkageType: ''
    returnType: void
    signature: void enclosureIdentifyLed(bool flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: enclosureIdentifyLed
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1562,1
    - Dst: report<InternalFailure>
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1566,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1568
      start: 1557
    functionDepth: 3
    functionLinenumber: 1557
    functionLinenumberEnd: 1568
    functionName: enclosureIdentifyLedOff
    functionSourceFile: /src/phosphor-host-ipmid/chassishandler.cpp
    functionUses: 0
    functionsReached:
    - enclosureIdentifyLed
    - report<InternalFailure>
    linkageType: ''
    returnType: void
    signature: void enclosureIdentifyLedOff()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<sdbusplus::Timer>
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1577,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1579
      start: 1572
    functionDepth: 0
    functionLinenumber: 1572
    functionLinenumberEnd: 1579
    functionName: createIdentifyTimer
    functionSourceFile: /src/phosphor-host-ipmid/chassishandler.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<sdbusplus::Timer>
    linkageType: ''
    returnType: void
    signature: void createIdentifyTimer()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::optional<uint8_t>::value_or
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1584,1
    - Dst: std::optional<uint8_t>::value_or
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1585,1
    - Dst: stop
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1591,1
    - Dst: enclosureIdentifyLed
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1595,1
    - Dst: report<InternalFailure>
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1599,1
    - Dst: ipmi::responseResponseError
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1600,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1606,1
    - Dst: std::chrono::duration_cast<std::chrono::microseconds>
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1609,1
    - Dst: std::chrono::seconds
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1610,1
    - Dst: start
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1611,1
    - Dst: stop
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1615,1
    - Dst: enclosureIdentifyLedOff
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1616,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1618,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - interval
    - force
    argTypes:
    - std::optional<uint8_t>
    - std::optional<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1619
      start: 1581
    functionDepth: 4
    functionLinenumber: 1581
    functionLinenumberEnd: 1619
    functionName: ipmiChassisIdentify
    functionSourceFile: /src/phosphor-host-ipmid/chassishandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::responseResponseError
    - stop
    - start
    - ipmi::responseSuccess
    - std::chrono::duration_cast<std::chrono::microseconds>
    - enclosureIdentifyLed
    - enclosureIdentifyLedOff
    - std::chrono::seconds
    - report<InternalFailure>
    - std::optional<uint8_t>::value_or
    linkageType: ''
    returnType: ipmi::RspType<>
    signature: "ipmi::RspType<> ipmiChassisIdentify(std::optional<uint8_t> interval,\n
      \                                   std::optional<uint8_t> force)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getService
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1674,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1678,1
    - Dst: Source::convertSourcesFromString
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1683,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1687,1
    - Dst: boost::system::error_code::message
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1687,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' ctx'
    - ' source'
    argTypes:
    - ipmi::Context::ptr
    - Source::Sources
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1689
      start: 1669
    functionDepth: 0
    functionLinenumber: 1669
    functionLinenumberEnd: 1689
    functionName: getBootSource
    functionSourceFile: /src/phosphor-host-ipmid/chassishandler.cpp
    functionUses: 0
    functionsReached:
    - boost::system::error_code::message
    - getService
    - Source::convertSourcesFromString
    - ipmi::getDbusProperty
    - lg2::error
    linkageType: ''
    returnType: ipmi::Cc
    signature: ipmi::Cc getBootSource(ipmi::Context::ptr& ctx, Source::Sources& source)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getService
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1701,1
    - Dst: ipmi::setDbusProperty
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1705,1
    - Dst: convertForMessage
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1708,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1714,1
    - Dst: boost::system::error_code::message
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1714,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' ctx'
    - ' source'
    argTypes:
    - ipmi::Context::ptr
    - Source::Sources
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1716
      start: 1696
    functionDepth: 0
    functionLinenumber: 1696
    functionLinenumberEnd: 1716
    functionName: setBootSource
    functionSourceFile: /src/phosphor-host-ipmid/chassishandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::setDbusProperty
    - boost::system::error_code::message
    - getService
    - convertForMessage
    - lg2::error
    linkageType: ''
    returnType: ipmi::Cc
    signature: "ipmi::Cc setBootSource(ipmi::Context::ptr& ctx,\n                              const
      Source::Sources& source)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getService
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1729,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1732,1
    - Dst: Mode::convertModesFromString
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1737,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1741,1
    - Dst: boost::system::error_code::message
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1741,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' ctx'
    - ' mode'
    argTypes:
    - ipmi::Context::ptr
    - Mode::Modes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1743
      start: 1723
    functionDepth: 0
    functionLinenumber: 1723
    functionLinenumberEnd: 1743
    functionName: getBootMode
    functionSourceFile: /src/phosphor-host-ipmid/chassishandler.cpp
    functionUses: 0
    functionsReached:
    - boost::system::error_code::message
    - getService
    - ipmi::getDbusProperty
    - lg2::error
    - Mode::convertModesFromString
    linkageType: ''
    returnType: ipmi::Cc
    signature: ipmi::Cc getBootMode(ipmi::Context::ptr& ctx, Mode::Modes& mode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getService
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1755,1
    - Dst: ipmi::setDbusProperty
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1758,1
    - Dst: convertForMessage
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1761,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1767,1
    - Dst: boost::system::error_code::message
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1767,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' ctx'
    - ' mode'
    argTypes:
    - ipmi::Context::ptr
    - Mode::Modes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1769
      start: 1750
    functionDepth: 0
    functionLinenumber: 1750
    functionLinenumberEnd: 1769
    functionName: setBootMode
    functionSourceFile: /src/phosphor-host-ipmid/chassishandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::setDbusProperty
    - boost::system::error_code::message
    - getService
    - convertForMessage
    - lg2::error
    linkageType: ''
    returnType: ipmi::Cc
    signature: ipmi::Cc setBootMode(ipmi::Context::ptr& ctx, const Mode::Modes& mode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getService
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1782,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1791,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1796,1
    - Dst: boost::system::error_code::message
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1796,1
    - Dst: Type::convertTypesFromString
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1799,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' ctx'
    - ' type'
    argTypes:
    - ipmi::Context::ptr
    - Type::Types
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1803
      start: 1776
    functionDepth: 0
    functionLinenumber: 1776
    functionLinenumberEnd: 1803
    functionName: getBootType
    functionSourceFile: /src/phosphor-host-ipmid/chassishandler.cpp
    functionUses: 0
    functionsReached:
    - boost::system::error_code::message
    - Type::convertTypesFromString
    - getService
    - ipmi::getDbusProperty
    - lg2::error
    linkageType: ''
    returnType: ipmi::Cc
    signature: ipmi::Cc getBootType(ipmi::Context::ptr& ctx, Type::Types& type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getService
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1815,1
    - Dst: ipmi::setDbusProperty
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1818,1
    - Dst: convertForMessage
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1821,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1824,1
    - Dst: boost::system::error_code::message
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1824,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' ctx'
    - ' type'
    argTypes:
    - ipmi::Context::ptr
    - Type::Types
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1833
      start: 1810
    functionDepth: 0
    functionLinenumber: 1810
    functionLinenumberEnd: 1833
    functionName: setBootType
    functionSourceFile: /src/phosphor-host-ipmid/chassishandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::setDbusProperty
    - boost::system::error_code::message
    - getService
    - convertForMessage
    - lg2::error
    linkageType: ''
    returnType: ipmi::Cc
    signature: ipmi::Cc setBootType(ipmi::Context::ptr& ctx, const Type::Types& type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getService
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1846,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1849,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1857,1
    - Dst: boost::system::error_code::message
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1858,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' ctx'
    - ' enable'
    argTypes:
    - ipmi::Context::ptr
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1860
      start: 1840
    functionDepth: 0
    functionLinenumber: 1840
    functionLinenumberEnd: 1860
    functionName: getBootEnable
    functionSourceFile: /src/phosphor-host-ipmid/chassishandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::getDbusProperty
    - boost::system::error_code::message
    - getService
    - lg2::error
    linkageType: ''
    returnType: ipmi::Cc
    signature: ipmi::Cc getBootEnable(ipmi::Context::ptr& ctx, bool& enable)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getService
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1872,1
    - Dst: ipmi::setDbusProperty
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1875,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1883,1
    - Dst: boost::system::error_code::message
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1884,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' ctx'
    - ' enable'
    argTypes:
    - ipmi::Context::ptr
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1886
      start: 1867
    functionDepth: 0
    functionLinenumber: 1867
    functionLinenumberEnd: 1886
    functionName: setBootEnable
    functionSourceFile: /src/phosphor-host-ipmid/chassishandler.cpp
    functionUses: 0
    functionsReached:
    - boost::system::error_code::message
    - getService
    - ipmi::setDbusProperty
    - lg2::error
    linkageType: ''
    returnType: ipmi::Cc
    signature: ipmi::Cc setBootEnable(ipmi::Context::ptr& ctx, const bool& enable)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getService
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1898,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1902,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1910,1
    - Dst: boost::system::error_code::message
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1911,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' ctx'
    - ' onetime'
    argTypes:
    - ipmi::Context::ptr
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1913
      start: 1893
    functionDepth: 0
    functionLinenumber: 1893
    functionLinenumberEnd: 1913
    functionName: getBootOneTime
    functionSourceFile: /src/phosphor-host-ipmid/chassishandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::getDbusProperty
    - boost::system::error_code::message
    - getService
    - lg2::error
    linkageType: ''
    returnType: ipmi::Cc
    signature: ipmi::Cc getBootOneTime(ipmi::Context::ptr& ctx, bool& onetime)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getService
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1924,1
    - Dst: ipmi::setDbusProperty
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1928,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1936,1
    - Dst: boost::system::error_code::message
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1937,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' ctx'
    - ' onetime'
    argTypes:
    - ipmi::Context::ptr
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1939
      start: 1920
    functionDepth: 0
    functionLinenumber: 1920
    functionLinenumberEnd: 1939
    functionName: setBootOneTime
    functionSourceFile: /src/phosphor-host-ipmid/chassishandler.cpp
    functionUses: 0
    functionsReached:
    - boost::system::error_code::message
    - getService
    - ipmi::setDbusProperty
    - lg2::error
    linkageType: ''
    returnType: ipmi::Cc
    signature: ipmi::Cc setBootOneTime(ipmi::Context::ptr& ctx, const bool& onetime)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getService
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1951,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1954,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1962,1
    - Dst: boost::system::error_code::message
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1963,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' ctx'
    - ' value'
    argTypes:
    - ipmi::Context::ptr
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1965
      start: 1946
    functionDepth: 0
    functionLinenumber: 1946
    functionLinenumberEnd: 1965
    functionName: getBootFlagsCMOSClear
    functionSourceFile: /src/phosphor-host-ipmid/chassishandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::getDbusProperty
    - boost::system::error_code::message
    - getService
    - lg2::error
    linkageType: ''
    returnType: ipmi::Cc
    signature: ipmi::Cc getBootFlagsCMOSClear(ipmi::Context::ptr& ctx, bool& value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getService
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1977,1
    - Dst: ipmi::setDbusProperty
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1980,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1988,1
    - Dst: boost::system::error_code::message
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:1989,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' ctx'
    - value
    argTypes:
    - ipmi::Context::ptr
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1991
      start: 1972
    functionDepth: 0
    functionLinenumber: 1972
    functionLinenumberEnd: 1991
    functionName: setBootFlagsCMOSClear
    functionSourceFile: /src/phosphor-host-ipmid/chassishandler.cpp
    functionUses: 0
    functionsReached:
    - boost::system::error_code::message
    - getService
    - ipmi::setDbusProperty
    - lg2::error
    linkageType: ''
    returnType: ipmi::Cc
    signature: ipmi::Cc setBootFlagsCMOSClear(ipmi::Context::ptr& ctx, const bool
      value)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2027,1
    - Dst: ipmi::message::Payload::pack
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2032,1
    - Dst: types::enum_cast<BootOptionParameter>
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2037,1
    - Dst: ipmi::message::Payload::pack
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2040,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2041,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2041,1
    - Dst: types::enum_cast<BootOptionParameter>
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2044,1
    - Dst: ipmi::message::Payload::pack
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2048,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2050,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2050,1
    - Dst: types::enum_cast<BootOptionParameter>
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2053,1
    - Dst: ipmi::message::Payload::pack
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2056,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2058,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2058,1
    - Dst: types::enum_cast<BootOptionParameter>
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2065,1
    - Dst: getBootSource
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2074,1
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2077,1
    - Dst: getBootType
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2081,1
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2084,1
    - Dst: getBootMode
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2088,1
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2091,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2094,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2102,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2105,1
    - Dst: getBootOneTime
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2108,1
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2111,1
    - Dst: getBootEnable
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2117,1
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2120,1
    - Dst: getBootFlagsCMOSClear
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2125,1
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2128,1
    - Dst: ipmi::message::Payload::pack
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2131,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2136,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2136,1
    - Dst: reset
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2140,1
    - Dst: report<InternalFailure>
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2141,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2142,1
    - Dst: types::enum_cast<BootOptionParameter>
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2150,1
    - Dst: ipmi::message::Payload::pack
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2153,1
    - Dst: getHostNetworkData
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2154,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2158,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2160,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2164,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2164,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2169,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2172,1
    - Dst: ipmi::responseParmNotSupported
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2173,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2178,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2180,1
    - Dst: ipmi::responseParmNotSupported
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2181,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2184,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 78
    argCount: 5
    argNames:
    - ctx
    - bootOptionParameter
    - reserved1
    - setSelector
    - blockSelector
    argTypes:
    - ipmi::Context::ptr
    - uint7_t
    - bool
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2185
      start: 2019
    functionDepth: 2
    functionLinenumber: 2019
    functionLinenumberEnd: 2185
    functionName: ipmiChassisGetSysBootOptions
    functionSourceFile: /src/phosphor-host-ipmid/chassishandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::responseSuccess
    - ipmi::responseUnspecifiedError
    - getBootEnable
    - getBootType
    - static_cast<uint8_t>
    - ipmi::response
    - reset
    - ipmi::responseParmNotSupported
    - getBootFlagsCMOSClear
    - getBootMode
    - ipmi::message::Payload::pack
    - types::enum_cast<BootOptionParameter>
    - ipmi::responseInvalidFieldRequest
    - std::move
    - getBootSource
    - lg2::error
    - getBootOneTime
    - report<InternalFailure>
    - at
    - getHostNetworkData
    linkageType: ''
    returnType: ipmi::RspType<ipmi::message::Payload>
    signature: "ipmi::RspType<ipmi::message::Payload> ipmiChassisGetSysBootOptions(\n
      \   ipmi::Context::ptr ctx, uint7_t bootOptionParameter, bool reserved1,\n    [[maybe_unused]]
      uint8_t setSelector,\n    [[maybe_unused]] uint8_t blockSelector)"
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: types::enum_cast<BootOptionParameter>
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2194,1
    - Dst: unpack
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2199,1
    - Dst: fullyUnpacked
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2199,1
    - Dst: ipmi::responseReqDataLenInvalid
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2201,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2205,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2208,1
    - Dst: ipmi::responsefailSetInProgress
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2210,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2212,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2213,1
    - Dst: types::enum_cast<BootOptionParameter>
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2221,1
    - Dst: unpack
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2239,1
    - Dst: fullyUnpacked
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2244,1
    - Dst: ipmi::responseReqDataLenInvalid
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2246,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2250,1
    - Dst: setBootOneTime
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2258,1
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2261,1
    - Dst: setBootEnable
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2264,1
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2267,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2271,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2271,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2273,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2273,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2275,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2275,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2276,1
    - Dst: setBootSource
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2278,1
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2281,1
    - Dst: setBootMode
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2289,1
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2292,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2297,1
    - Dst: setBootType
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2299,1
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2302,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2306,1
    - Dst: setBootMode
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2308,1
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2311,1
    - Dst: setBootSource
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2319,1
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2322,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2326,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2327,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2328,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2331,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2333,1
    - Dst: setBootFlagsCMOSClear
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2336,1
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2339,1
    - Dst: reset
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2344,1
    - Dst: report<InternalFailure>
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2345,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2346,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2348,1
    - Dst: types::enum_cast<BootOptionParameter>
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2351,1
    - Dst: unpack
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2358,1
    - Dst: fullyUnpacked
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2359,1
    - Dst: ipmi::responseReqDataLenInvalid
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2361,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2365,1
    - Dst: lg2::info
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2369,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2372,1
    - Dst: types::enum_cast<BootOptionParameter>
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2374,1
    - Dst: unpack
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2380,1
    - Dst: fullyUnpacked
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2380,1
    - Dst: ipmi::responseReqDataLenInvalid
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2382,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2386,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2389,1
    - Dst: lg2::info
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2390,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2394,1
    - Dst: static_cast<uint7_t>
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2398,1
    - Dst: static_cast<uint7_t>
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2399,1
    - Dst: types::enum_cast<BootOptionParameter>
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2401,1
    - Dst: setHostNetworkData
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2404,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2407,1
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2410,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2413,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2417,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2419,1
    - Dst: ipmi::responseParmNotSupported
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2421,1
    - Dst: ipmi::responseParmNotSupported
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2425,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2427,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 118
    argCount: 3
    argNames:
    - ctx
    - parameterSelector
    - ' data'
    argTypes:
    - ipmi::Context::ptr
    - uint7_t
    - ipmi::message::Payload
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2428
      start: 2187
    functionDepth: 2
    functionLinenumber: 2187
    functionLinenumberEnd: 2428
    functionName: ipmiChassisSetSysBootOptions
    functionSourceFile: /src/phosphor-host-ipmid/chassishandler.cpp
    functionUses: 0
    functionsReached:
    - setBootOneTime
    - ipmi::responseSuccess
    - ipmi::responseUnspecifiedError
    - setHostNetworkData
    - static_cast<uint8_t>
    - static_cast<uint7_t>
    - find
    - ipmi::response
    - reset
    - ipmi::responseParmNotSupported
    - ipmi::responsefailSetInProgress
    - setBootSource
    - setBootMode
    - end
    - lg2::info
    - setBootEnable
    - types::enum_cast<BootOptionParameter>
    - ipmi::responseInvalidFieldRequest
    - setBootFlagsCMOSClear
    - lg2::error
    - setBootType
    - report<InternalFailure>
    - unpack
    - ipmi::responseReqDataLenInvalid
    - fullyUnpacked
    linkageType: ''
    returnType: ipmi::RspType<>
    signature: "ipmi::RspType<> ipmiChassisSetSysBootOptions(ipmi::Context::ptr ctx,\n
      \                                            uint7_t parameterSelector, bool,\n
      \                                            ipmi::message::Payload& data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2445,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2445,1
    - Dst: getPOHCounter
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2446,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2450,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2451,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2453
      start: 2437
    functionDepth: 2
    functionLinenumber: 2437
    functionLinenumberEnd: 2453
    functionName: ipmiGetPOHCounter
    functionSourceFile: /src/phosphor-host-ipmid/chassishandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::responseSuccess
    - ipmi::responseUnspecifiedError
    - getPOHCounter
    - static_cast<uint8_t>
    - lg2::error
    linkageType: ''
    returnType: "ipmi::RspType<uint8_t, // Minutes per count\n              uint32_t
      // Counter reading\n              >"
    signature: "ipmi::RspType<uint8_t, // Minutes per count\n              uint32_t
      // Counter reading\n              > ipmiGetPOHCounter()"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2466,1
    - Dst: static_cast<int>
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2467,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2468,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2474,1
    - Dst: chassis::internal::cache::getObjects
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2488,1
    - Dst: map::at
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2490,1
    - Dst: serviceMap::at
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2492,1
    - Dst: ipmi::setDbusProperty
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2494,1
    - Dst: convertForMessage
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2498,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2501,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2502,1
    - Dst: reset
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2507,1
    - Dst: report<InternalFailure>
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2508,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2509,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2512,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 3
    argNames:
    - ctx
    - policy
    - reserved
    argTypes:
    - ipmi::Context::ptr
    - uint3_t
    - uint5_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2513
      start: 2455
    functionDepth: 1
    functionLinenumber: 2455
    functionLinenumberEnd: 2513
    functionName: ipmiChassisSetPowerRestorePolicy
    functionSourceFile: /src/phosphor-host-ipmid/chassishandler.cpp
    functionUses: 0
    functionsReached:
    - chassis::internal::cache::getObjects
    - static_cast<int>
    - ipmi::responseSuccess
    - ipmi::setDbusProperty
    - ipmi::responseUnspecifiedError
    - report<InternalFailure>
    - serviceMap::at
    - ipmi::responseInvalidFieldRequest
    - convertForMessage
    - map::at
    - lg2::error
    - reset
    linkageType: ''
    returnType: "ipmi::RspType<uint3_t, // policy support\n              uint5_t  //
      reserved\n              >"
    signature: "ipmi::RspType<uint3_t, // policy support\n              uint5_t  //
      reserved\n              > ipmiChassisSetPowerRestorePolicy(ipmi::Context::ptr
      ctx, uint3_t policy,\n                                     uint5_t reserved)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setButtonDisabled
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2523,1
    - Dst: setButtonDisabled
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2528,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2534,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2536,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - disablePowerButton
    - disableResetButton
    argTypes:
    - ipmi::Context::ptr
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2537
      start: 2515
    functionDepth: 2
    functionLinenumber: 2515
    functionLinenumberEnd: 2537
    functionName: ipmiSetFrontPanelButtonEnables
    functionSourceFile: /src/phosphor-host-ipmid/chassishandler.cpp
    functionUses: 0
    functionsReached:
    - setButtonDisabled
    - ipmi::responseSuccess
    - ipmi::responseUnspecifiedError
    linkageType: ''
    returnType: ipmi::RspType<>
    signature: "ipmi::RspType<> ipmiSetFrontPanelButtonEnables(\n    ipmi::Context::ptr
      ctx, bool disablePowerButton, bool disableResetButton,\n    bool, bool, uint4_t)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createIdentifyTimer
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2541,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2544,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2549,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2555,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2560,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2566,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2571,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2576,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2581,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2586,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2592,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/chassishandler.cpp:2597,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2601
      start: 2539
    functionDepth: 1
    functionLinenumber: 2539
    functionLinenumberEnd: 2601
    functionName: registerNetFnChassisFunctions
    functionSourceFile: /src/phosphor-host-ipmid/chassishandler.cpp
    functionUses: 0
    functionsReached:
    - createIdentifyTimer
    - ipmi::registerHandler
    linkageType: ''
    returnType: void
    signature: void registerNetFnChassisFunctions()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - recordType
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: ipmi::sel::internal::isRecordOEM
    functionSourceFile: /src/phosphor-host-ipmid/selutility.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isRecordOEM(uint8_t recordType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::from_chars
      Src: /src/phosphor-host-ipmid/selutility.cpp:67,1
    - Dst: data
      Src: /src/phosphor-host-ipmid/selutility.cpp:67,1
    - Dst: data
      Src: /src/phosphor-host-ipmid/selutility.cpp:67,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/selutility.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 69
    functionName: ipmi::sel::internal::convert
    functionSourceFile: /src/phosphor-host-ipmid/selutility.cpp
    functionUses: 0
    functionsReached:
    - data
    - size
    - std::from_chars
    linkageType: ''
    returnType: int
    signature: int convert(const std::string_view& str, int base = 10)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/phosphor-host-ipmid/selutility.cpp:75,1
    - Dst: std::vector::reserve
      Src: /src/phosphor-host-ipmid/selutility.cpp:76,1
    - Dst: std::vector::emplace_back
      Src: /src/phosphor-host-ipmid/selutility.cpp:79,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:80,1
    - Dst: ipmi::sel::internal::convert
      Src: /src/phosphor-host-ipmid/selutility.cpp:80,1
    - Dst: substr
      Src: /src/phosphor-host-ipmid/selutility.cpp:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 83
    functionName: ipmi::sel::internal::convertVec
    functionSourceFile: /src/phosphor-host-ipmid/selutility.cpp
    functionUses: 0
    functionsReached:
    - ipmi::sel::internal::convert
    - size
    - substr
    - static_cast<uint8_t>
    - std::vector::reserve
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> convertVec(const std::string_view& str)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/phosphor-host-ipmid/selutility.cpp:89,1
    - Dst: assert
      Src: /src/phosphor-host-ipmid/selutility.cpp:90,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/selutility.cpp:90,1
    - Dst: ipmi::sel::internal::convertVec
      Src: /src/phosphor-host-ipmid/selutility.cpp:91,1
    - Dst: static_cast<uint32_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:94,1
    - Dst: std::chrono::duration_cast<std::chrono::seconds>
      Src: /src/phosphor-host-ipmid/selutility.cpp:95,1
    - Dst: memcpy
      Src: /src/phosphor-host-ipmid/selutility.cpp:100,1
    - Dst: auto::data
      Src: /src/phosphor-host-ipmid/selutility.cpp:100,1
    - Dst: std::min
      Src: /src/phosphor-host-ipmid/selutility.cpp:101,1
    - Dst: auto::size
      Src: /src/phosphor-host-ipmid/selutility.cpp:101,1
    - Dst: static_cast<size_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:101,1
    - Dst: memcpy
      Src: /src/phosphor-host-ipmid/selutility.cpp:107,1
    - Dst: auto::data
      Src: /src/phosphor-host-ipmid/selutility.cpp:107,1
    - Dst: std::min
      Src: /src/phosphor-host-ipmid/selutility.cpp:108,1
    - Dst: auto::size
      Src: /src/phosphor-host-ipmid/selutility.cpp:108,1
    - Dst: static_cast<size_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:108,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - recordType
    - timestamp
    - ' data'
    - ' record'
    argTypes:
    - uint8_t
    - std::chrono::milliseconds
    - AdditionalData
    - GetSELEntryResponse
    assertStmts:
    - condition: (dataIter != data.end())
      pos:
        line_end: 89
        line_start: 89
        source_file: /src/phosphor-host-ipmid/selutility.cpp
    constantsTouched: []
    func_position:
      end: 110
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 110
    functionName: ipmi::sel::internal::constructOEMSEL
    functionSourceFile: /src/phosphor-host-ipmid/selutility.cpp
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - std::min
    - ipmi::sel::internal::convertVec
    - std::chrono::duration_cast<std::chrono::seconds>
    - assert
    - memcpy
    - static_cast<uint32_t>
    - end
    - find
    - auto::size
    - auto::data
    linkageType: ''
    returnType: void
    signature: "void constructOEMSEL(uint8_t recordType, std::chrono::milliseconds
      timestamp,\n                     const AdditionalData& data, GetSELEntryResponse&
      record)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/selutility.cpp:118,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/selutility.cpp:119,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/selutility.cpp:127,1
    - Dst: assert
      Src: /src/phosphor-host-ipmid/selutility.cpp:128,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/selutility.cpp:128,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/selutility.cpp:130,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/selutility.cpp:132,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/selutility.cpp:138,1
    - Dst: assert
      Src: /src/phosphor-host-ipmid/selutility.cpp:139,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/selutility.cpp:139,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:140,1
    - Dst: ipmi::sel::internal::convert
      Src: /src/phosphor-host-ipmid/selutility.cpp:140,1
    - Dst: static_cast<uint32_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:146,1
    - Dst: std::chrono::duration_cast<std::chrono::seconds>
      Src: /src/phosphor-host-ipmid/selutility.cpp:147,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/selutility.cpp:148,1
    - Dst: assert
      Src: /src/phosphor-host-ipmid/selutility.cpp:149,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/selutility.cpp:149,1
    - Dst: static_cast<uint16_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:151,1
    - Dst: ipmi::sel::internal::convert
      Src: /src/phosphor-host-ipmid/selutility.cpp:151,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/selutility.cpp:153,1
    - Dst: assert
      Src: /src/phosphor-host-ipmid/selutility.cpp:154,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/selutility.cpp:154,1
    - Dst: ipmi::sel::internal::convertVec
      Src: /src/phosphor-host-ipmid/selutility.cpp:155,1
    - Dst: memcpy
      Src: /src/phosphor-host-ipmid/selutility.cpp:157,1
    - Dst: auto::data
      Src: /src/phosphor-host-ipmid/selutility.cpp:157,1
    - Dst: std::min
      Src: /src/phosphor-host-ipmid/selutility.cpp:158,1
    - Dst: auto::size
      Src: /src/phosphor-host-ipmid/selutility.cpp:158,1
    - Dst: static_cast<size_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 4
    argNames:
    - recordType
    - timestamp
    - ' data'
    - ' record'
    argTypes:
    - uint8_t
    - std::chrono::milliseconds
    - AdditionalData
    - GetSELEntryResponse
    assertStmts:
    - condition: (iter != data.end())
      pos:
        line_end: 138
        line_start: 138
        source_file: /src/phosphor-host-ipmid/selutility.cpp
    - condition: (iter != data.end())
      pos:
        line_end: 127
        line_start: 127
        source_file: /src/phosphor-host-ipmid/selutility.cpp
    - condition: (iter != data.end())
      pos:
        line_end: 148
        line_start: 148
        source_file: /src/phosphor-host-ipmid/selutility.cpp
    - condition: (iter != data.end())
      pos:
        line_end: 153
        line_start: 153
        source_file: /src/phosphor-host-ipmid/selutility.cpp
    constantsTouched: []
    func_position:
      end: 159
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 159
    functionName: ipmi::sel::internal::constructSEL
    functionSourceFile: /src/phosphor-host-ipmid/selutility.cpp
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - ipmi::sel::internal::convert
    - std::min
    - ipmi::sel::internal::convertVec
    - elog<InternalFailure>
    - assert
    - std::chrono::duration_cast<std::chrono::seconds>
    - memcpy
    - static_cast<uint32_t>
    - static_cast<uint8_t>
    - end
    - find
    - auto::size
    - static_cast<uint16_t>
    - lg2::error
    - auto::data
    linkageType: ''
    returnType: void
    signature: "void constructSEL(uint8_t recordType, std::chrono::milliseconds timestamp,\n
      \                 const AdditionalData& data, const entryDataMap&,\n                  GetSELEntryResponse&
      record)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ipmid_get_sd_bus_connection
      Src: /src/phosphor-host-ipmid/selutility.cpp:167,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/selutility.cpp:168,1
    - Dst: sdbusplus::bus_t::new_method_call
      Src: /src/phosphor-host-ipmid/selutility.cpp:171,1
    - Dst: auto::c_str
      Src: /src/phosphor-host-ipmid/selutility.cpp:171,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/selutility.cpp:171,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/selutility.cpp:173,1
    - Dst: sdbusplus::bus_t::call
      Src: /src/phosphor-host-ipmid/selutility.cpp:178,1
    - Dst: auto::read
      Src: /src/phosphor-host-ipmid/selutility.cpp:179,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/selutility.cpp:183,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/selutility.cpp:185,1
    - Dst: entryDataMap::find
      Src: /src/phosphor-host-ipmid/selutility.cpp:190,1
    - Dst: entryDataMap::end
      Src: /src/phosphor-host-ipmid/selutility.cpp:191,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/selutility.cpp:193,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/selutility.cpp:194,1
    - Dst: entryDataMap::find
      Src: /src/phosphor-host-ipmid/selutility.cpp:199,1
    - Dst: entryDataMap::end
      Src: /src/phosphor-host-ipmid/selutility.cpp:200,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/selutility.cpp:202,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/selutility.cpp:203,1
    - Dst: std::get<uint64_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:206,1
    - Dst: static_cast<uint16_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:213,1
    - Dst: std::get<uint32_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:213,1
    - Dst: entryDataMap::find
      Src: /src/phosphor-host-ipmid/selutility.cpp:215,1
    - Dst: entryDataMap::end
      Src: /src/phosphor-host-ipmid/selutility.cpp:216,1
    - Dst: std::get<AdditionalData>
      Src: /src/phosphor-host-ipmid/selutility.cpp:220,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/selutility.cpp:221,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/selutility.cpp:222,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/selutility.cpp:231,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/selutility.cpp:233,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/selutility.cpp:234,1
    - Dst: std::get<AdditionalData>
      Src: /src/phosphor-host-ipmid/selutility.cpp:242,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:244,1
    - Dst: ipmi::sel::internal::convert
      Src: /src/phosphor-host-ipmid/selutility.cpp:244,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/selutility.cpp:244,1
    - Dst: ipmi::sel::internal::isRecordOEM
      Src: /src/phosphor-host-ipmid/selutility.cpp:245,1
    - Dst: ipmi::sel::internal::constructOEMSEL
      Src: /src/phosphor-host-ipmid/selutility.cpp:248,1
    - Dst: ipmi::sel::internal::constructSEL
      Src: /src/phosphor-host-ipmid/selutility.cpp:252,1
    - Dst: static_cast<uint32_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:258,1
    - Dst: std::chrono::duration_cast<std::chrono::seconds>
      Src: /src/phosphor-host-ipmid/selutility.cpp:259,1
    - Dst: entryDataMap::find
      Src: /src/phosphor-host-ipmid/selutility.cpp:271,1
    - Dst: entryDataMap::end
      Src: /src/phosphor-host-ipmid/selutility.cpp:272,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/selutility.cpp:274,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/selutility.cpp:275,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/selutility.cpp:279,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 53
    argCount: 2
    argNames:
    - ' objPath'
    - iter
    argTypes:
    - std::string
    - ipmi::sensor::InvObjectIDMap::const_iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 161
    functionDepth: 3
    functionLinenumber: 161
    functionLinenumberEnd: 291
    functionName: ipmi::sel::internal::prepareSELEntry
    functionSourceFile: /src/phosphor-host-ipmid/selutility.cpp
    functionUses: 0
    functionsReached:
    - auto::c_str
    - entryDataMap::find
    - ipmid_get_sd_bus_connection
    - std::get<uint64_t>
    - static_cast<uint32_t>
    - static_cast<uint8_t>
    - find
    - ipmi::sel::internal::isRecordOEM
    - std::get<uint32_t>
    - ipmi::sel::internal::constructSEL
    - sdbusplus::bus_t::call
    - c_str
    - entryDataMap::end
    - end
    - elog<InternalFailure>
    - std::chrono::duration_cast<std::chrono::seconds>
    - ipmi::sel::internal::constructOEMSEL
    - auto::append
    - ipmi::getService
    - sdbusplus::bus_t::new_method_call
    - lg2::error
    - ipmi::sel::internal::convert
    - std::get<bool>
    - std::get<AdditionalData>
    - auto::read
    - static_cast<uint16_t>
    linkageType: ''
    returnType: GetSELEntryResponse
    signature: "GetSELEntryResponse prepareSELEntry(\n    const std::string& objPath,\n
      \   ipmi::sensor::InvObjectIDMap::const_iterator iter)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - recordType
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: ipmi::sel::internal::isRecordOEM
    functionSourceFile: /src/phosphor-host-ipmid/selutility.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isRecordOEM(uint8_t recordType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::from_chars
      Src: /src/phosphor-host-ipmid/selutility.cpp:67,1
    - Dst: data
      Src: /src/phosphor-host-ipmid/selutility.cpp:67,1
    - Dst: data
      Src: /src/phosphor-host-ipmid/selutility.cpp:67,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/selutility.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 69
    functionName: ipmi::sel::internal::convert
    functionSourceFile: /src/phosphor-host-ipmid/selutility.cpp
    functionUses: 3
    functionsReached:
    - data
    - size
    - std::from_chars
    linkageType: ''
    returnType: int
    signature: int convert(const std::string_view& str, int base = 10)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/phosphor-host-ipmid/selutility.cpp:75,1
    - Dst: std::vector::reserve
      Src: /src/phosphor-host-ipmid/selutility.cpp:76,1
    - Dst: std::vector::emplace_back
      Src: /src/phosphor-host-ipmid/selutility.cpp:79,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:80,1
    - Dst: ipmi::sel::internal::convert
      Src: /src/phosphor-host-ipmid/selutility.cpp:80,1
    - Dst: substr
      Src: /src/phosphor-host-ipmid/selutility.cpp:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 83
    functionName: ipmi::sel::internal::convertVec
    functionSourceFile: /src/phosphor-host-ipmid/selutility.cpp
    functionUses: 2
    functionsReached:
    - ipmi::sel::internal::convert
    - size
    - substr
    - static_cast<uint8_t>
    - std::vector::reserve
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> convertVec(const std::string_view& str)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/phosphor-host-ipmid/selutility.cpp:89,1
    - Dst: assert
      Src: /src/phosphor-host-ipmid/selutility.cpp:90,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/selutility.cpp:90,1
    - Dst: ipmi::sel::internal::convertVec
      Src: /src/phosphor-host-ipmid/selutility.cpp:91,1
    - Dst: static_cast<uint32_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:94,1
    - Dst: std::chrono::duration_cast<std::chrono::seconds>
      Src: /src/phosphor-host-ipmid/selutility.cpp:95,1
    - Dst: memcpy
      Src: /src/phosphor-host-ipmid/selutility.cpp:100,1
    - Dst: auto::data
      Src: /src/phosphor-host-ipmid/selutility.cpp:100,1
    - Dst: std::min
      Src: /src/phosphor-host-ipmid/selutility.cpp:101,1
    - Dst: auto::size
      Src: /src/phosphor-host-ipmid/selutility.cpp:101,1
    - Dst: static_cast<size_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:101,1
    - Dst: memcpy
      Src: /src/phosphor-host-ipmid/selutility.cpp:107,1
    - Dst: auto::data
      Src: /src/phosphor-host-ipmid/selutility.cpp:107,1
    - Dst: std::min
      Src: /src/phosphor-host-ipmid/selutility.cpp:108,1
    - Dst: auto::size
      Src: /src/phosphor-host-ipmid/selutility.cpp:108,1
    - Dst: static_cast<size_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:108,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - recordType
    - timestamp
    - ' data'
    - ' record'
    argTypes:
    - uint8_t
    - std::chrono::milliseconds
    - AdditionalData
    - GetSELEntryResponse
    assertStmts:
    - condition: (dataIter != data.end())
      pos:
        line_end: 89
        line_start: 89
        source_file: /src/phosphor-host-ipmid/selutility.cpp
    constantsTouched: []
    func_position:
      end: 110
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 110
    functionName: ipmi::sel::internal::constructOEMSEL
    functionSourceFile: /src/phosphor-host-ipmid/selutility.cpp
    functionUses: 1
    functionsReached:
    - static_cast<size_t>
    - std::min
    - ipmi::sel::internal::convertVec
    - std::chrono::duration_cast<std::chrono::seconds>
    - assert
    - memcpy
    - static_cast<uint32_t>
    - end
    - find
    - auto::size
    - auto::data
    linkageType: ''
    returnType: void
    signature: "void constructOEMSEL(uint8_t recordType, std::chrono::milliseconds
      timestamp,\n                     const AdditionalData& data, GetSELEntryResponse&
      record)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/selutility.cpp:118,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/selutility.cpp:119,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/selutility.cpp:127,1
    - Dst: assert
      Src: /src/phosphor-host-ipmid/selutility.cpp:128,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/selutility.cpp:128,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/selutility.cpp:130,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/selutility.cpp:132,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/selutility.cpp:138,1
    - Dst: assert
      Src: /src/phosphor-host-ipmid/selutility.cpp:139,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/selutility.cpp:139,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:140,1
    - Dst: ipmi::sel::internal::convert
      Src: /src/phosphor-host-ipmid/selutility.cpp:140,1
    - Dst: static_cast<uint32_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:146,1
    - Dst: std::chrono::duration_cast<std::chrono::seconds>
      Src: /src/phosphor-host-ipmid/selutility.cpp:147,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/selutility.cpp:148,1
    - Dst: assert
      Src: /src/phosphor-host-ipmid/selutility.cpp:149,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/selutility.cpp:149,1
    - Dst: static_cast<uint16_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:151,1
    - Dst: ipmi::sel::internal::convert
      Src: /src/phosphor-host-ipmid/selutility.cpp:151,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/selutility.cpp:153,1
    - Dst: assert
      Src: /src/phosphor-host-ipmid/selutility.cpp:154,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/selutility.cpp:154,1
    - Dst: ipmi::sel::internal::convertVec
      Src: /src/phosphor-host-ipmid/selutility.cpp:155,1
    - Dst: memcpy
      Src: /src/phosphor-host-ipmid/selutility.cpp:157,1
    - Dst: auto::data
      Src: /src/phosphor-host-ipmid/selutility.cpp:157,1
    - Dst: std::min
      Src: /src/phosphor-host-ipmid/selutility.cpp:158,1
    - Dst: auto::size
      Src: /src/phosphor-host-ipmid/selutility.cpp:158,1
    - Dst: static_cast<size_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 4
    argNames:
    - recordType
    - timestamp
    - ' data'
    - ' record'
    argTypes:
    - uint8_t
    - std::chrono::milliseconds
    - AdditionalData
    - GetSELEntryResponse
    assertStmts:
    - condition: (iter != data.end())
      pos:
        line_end: 138
        line_start: 138
        source_file: /src/phosphor-host-ipmid/selutility.cpp
    - condition: (iter != data.end())
      pos:
        line_end: 127
        line_start: 127
        source_file: /src/phosphor-host-ipmid/selutility.cpp
    - condition: (iter != data.end())
      pos:
        line_end: 148
        line_start: 148
        source_file: /src/phosphor-host-ipmid/selutility.cpp
    - condition: (iter != data.end())
      pos:
        line_end: 153
        line_start: 153
        source_file: /src/phosphor-host-ipmid/selutility.cpp
    constantsTouched: []
    func_position:
      end: 159
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 159
    functionName: ipmi::sel::internal::constructSEL
    functionSourceFile: /src/phosphor-host-ipmid/selutility.cpp
    functionUses: 1
    functionsReached:
    - static_cast<size_t>
    - ipmi::sel::internal::convert
    - std::min
    - ipmi::sel::internal::convertVec
    - elog<InternalFailure>
    - assert
    - std::chrono::duration_cast<std::chrono::seconds>
    - memcpy
    - static_cast<uint32_t>
    - static_cast<uint8_t>
    - end
    - find
    - auto::size
    - static_cast<uint16_t>
    - lg2::error
    - auto::data
    linkageType: ''
    returnType: void
    signature: "void constructSEL(uint8_t recordType, std::chrono::milliseconds timestamp,\n
      \                 const AdditionalData& data, const entryDataMap&,\n                  GetSELEntryResponse&
      record)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ipmid_get_sd_bus_connection
      Src: /src/phosphor-host-ipmid/selutility.cpp:167,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/selutility.cpp:168,1
    - Dst: sdbusplus::bus_t::new_method_call
      Src: /src/phosphor-host-ipmid/selutility.cpp:171,1
    - Dst: auto::c_str
      Src: /src/phosphor-host-ipmid/selutility.cpp:171,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/selutility.cpp:171,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/selutility.cpp:173,1
    - Dst: sdbusplus::bus_t::call
      Src: /src/phosphor-host-ipmid/selutility.cpp:178,1
    - Dst: auto::read
      Src: /src/phosphor-host-ipmid/selutility.cpp:179,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/selutility.cpp:183,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/selutility.cpp:185,1
    - Dst: entryDataMap::find
      Src: /src/phosphor-host-ipmid/selutility.cpp:190,1
    - Dst: entryDataMap::end
      Src: /src/phosphor-host-ipmid/selutility.cpp:191,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/selutility.cpp:193,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/selutility.cpp:194,1
    - Dst: entryDataMap::find
      Src: /src/phosphor-host-ipmid/selutility.cpp:199,1
    - Dst: entryDataMap::end
      Src: /src/phosphor-host-ipmid/selutility.cpp:200,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/selutility.cpp:202,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/selutility.cpp:203,1
    - Dst: std::get<uint64_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:206,1
    - Dst: static_cast<uint16_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:213,1
    - Dst: std::get<uint32_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:213,1
    - Dst: entryDataMap::find
      Src: /src/phosphor-host-ipmid/selutility.cpp:215,1
    - Dst: entryDataMap::end
      Src: /src/phosphor-host-ipmid/selutility.cpp:216,1
    - Dst: std::get<AdditionalData>
      Src: /src/phosphor-host-ipmid/selutility.cpp:220,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/selutility.cpp:221,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/selutility.cpp:222,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/selutility.cpp:231,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/selutility.cpp:233,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/selutility.cpp:234,1
    - Dst: std::get<AdditionalData>
      Src: /src/phosphor-host-ipmid/selutility.cpp:242,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:244,1
    - Dst: ipmi::sel::internal::convert
      Src: /src/phosphor-host-ipmid/selutility.cpp:244,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/selutility.cpp:244,1
    - Dst: ipmi::sel::internal::isRecordOEM
      Src: /src/phosphor-host-ipmid/selutility.cpp:245,1
    - Dst: ipmi::sel::internal::constructOEMSEL
      Src: /src/phosphor-host-ipmid/selutility.cpp:248,1
    - Dst: ipmi::sel::internal::constructSEL
      Src: /src/phosphor-host-ipmid/selutility.cpp:252,1
    - Dst: static_cast<uint32_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:258,1
    - Dst: std::chrono::duration_cast<std::chrono::seconds>
      Src: /src/phosphor-host-ipmid/selutility.cpp:259,1
    - Dst: entryDataMap::find
      Src: /src/phosphor-host-ipmid/selutility.cpp:271,1
    - Dst: entryDataMap::end
      Src: /src/phosphor-host-ipmid/selutility.cpp:272,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/selutility.cpp:274,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/selutility.cpp:275,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/selutility.cpp:279,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 53
    argCount: 2
    argNames:
    - ' objPath'
    - iter
    argTypes:
    - std::string
    - ipmi::sensor::InvObjectIDMap::const_iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 161
    functionDepth: 3
    functionLinenumber: 161
    functionLinenumberEnd: 291
    functionName: ipmi::sel::internal::prepareSELEntry
    functionSourceFile: /src/phosphor-host-ipmid/selutility.cpp
    functionUses: 0
    functionsReached:
    - auto::c_str
    - entryDataMap::find
    - ipmid_get_sd_bus_connection
    - std::get<uint64_t>
    - static_cast<uint32_t>
    - static_cast<uint8_t>
    - find
    - ipmi::sel::internal::isRecordOEM
    - std::get<uint32_t>
    - ipmi::sel::internal::constructSEL
    - sdbusplus::bus_t::call
    - c_str
    - entryDataMap::end
    - end
    - elog<InternalFailure>
    - std::chrono::duration_cast<std::chrono::seconds>
    - ipmi::sel::internal::constructOEMSEL
    - auto::append
    - ipmi::getService
    - sdbusplus::bus_t::new_method_call
    - lg2::error
    - ipmi::sel::internal::convert
    - std::get<bool>
    - std::get<AdditionalData>
    - auto::read
    - static_cast<uint16_t>
    linkageType: ''
    returnType: GetSELEntryResponse
    signature: "GetSELEntryResponse prepareSELEntry(\n    const std::string& objPath,\n
      \   ipmi::sensor::InvObjectIDMap::const_iterator iter)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ipmid_get_sd_bus_connection
      Src: /src/phosphor-host-ipmid/selutility.cpp:297,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/selutility.cpp:306,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/selutility.cpp:308,1
    - Dst: std::get<std::vector<ipmi::Association>>
      Src: /src/phosphor-host-ipmid/selutility.cpp:309,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/selutility.cpp:313,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/selutility.cpp:315,1
    - Dst: std::get<0>
      Src: /src/phosphor-host-ipmid/selutility.cpp:325,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/selutility.cpp:327,1
    - Dst: std::get<2>
      Src: /src/phosphor-host-ipmid/selutility.cpp:327,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/selutility.cpp:328,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/selutility.cpp:330,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/selutility.cpp:331,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/selutility.cpp:333,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/selutility.cpp:334,1
    - Dst: ipmi::sel::internal::prepareSELEntry
      Src: /src/phosphor-host-ipmid/selutility.cpp:338,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/selutility.cpp:344,1
    - Dst: ipmi::sel::internal::prepareSELEntry
      Src: /src/phosphor-host-ipmid/selutility.cpp:345,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - ' objPath'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 295
    functionDepth: 4
    functionLinenumber: 295
    functionLinenumberEnd: 346
    functionName: ipmi::sel::convertLogEntrytoSEL
    functionSourceFile: /src/phosphor-host-ipmid/selutility.cpp
    functionUses: 1
    functionsReached:
    - find
    - ipmi::getService
    - ipmid_get_sd_bus_connection
    - std::get<0>
    - ipmi::sel::internal::prepareSELEntry
    - std::get<2>
    - std::get<std::vector<ipmi::Association>>
    - end
    - elog<InternalFailure>
    - ipmi::getDbusProperty
    - lg2::error
    linkageType: ''
    returnType: GetSELEntryResponse
    signature: GetSELEntryResponse convertLogEntrytoSEL(const std::string& objPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmid_get_sd_bus_connection
      Src: /src/phosphor-host-ipmid/selutility.cpp:350,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/selutility.cpp:357,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/selutility.cpp:358,1
    - Dst: std::get<uint64_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:360,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/selutility.cpp:364,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/selutility.cpp:366,1
    - Dst: std::chrono::duration_cast<std::chrono::seconds>
      Src: /src/phosphor-host-ipmid/selutility.cpp:371,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' objPath'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 372
    functionName: ipmi::sel::getEntryTimeStamp
    functionSourceFile: /src/phosphor-host-ipmid/selutility.cpp
    functionUses: 1
    functionsReached:
    - ipmi::getService
    - ipmid_get_sd_bus_connection
    - std::chrono::duration_cast<std::chrono::seconds>
    - std::get<uint64_t>
    - elog<InternalFailure>
    - ipmi::getDbusProperty
    - lg2::error
    linkageType: ''
    returnType: std::chrono::seconds
    signature: std::chrono::seconds getEntryTimeStamp(const std::string& objPath)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmid_get_sd_bus_connection
      Src: /src/phosphor-host-ipmid/selutility.cpp:376,1
    - Dst: clear
      Src: /src/phosphor-host-ipmid/selutility.cpp:378,1
    - Dst: sdbusplus::bus_t::new_method_call
      Src: /src/phosphor-host-ipmid/selutility.cpp:380,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/selutility.cpp:384,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/selutility.cpp:385,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/selutility.cpp:386,1
    - Dst: ObjectPaths
      Src: /src/phosphor-host-ipmid/selutility.cpp:386,1
    - Dst: sdbusplus::bus_t::call
      Src: /src/phosphor-host-ipmid/selutility.cpp:390,1
    - Dst: auto::read
      Src: /src/phosphor-host-ipmid/selutility.cpp:391,1
    - Dst: strcmp
      Src: /src/phosphor-host-ipmid/selutility.cpp:395,1
    - Dst: name
      Src: /src/phosphor-host-ipmid/selutility.cpp:395,1
    - Dst: std::sort
      Src: /src/phosphor-host-ipmid/selutility.cpp:402,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/selutility.cpp:402,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/selutility.cpp:402,1
    - Dst: std::stoul
      Src: /src/phosphor-host-ipmid/selutility.cpp:407,1
    - Dst: fs::path::filename
      Src: /src/phosphor-host-ipmid/selutility.cpp:407,1
    - Dst: std::stoul
      Src: /src/phosphor-host-ipmid/selutility.cpp:408,1
    - Dst: fs::path::filename
      Src: /src/phosphor-host-ipmid/selutility.cpp:408,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - ' paths'
    argTypes:
    - ObjectPaths
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 412
    functionName: ipmi::sel::readLoggingObjectPaths
    functionSourceFile: /src/phosphor-host-ipmid/selutility.cpp
    functionUses: 1
    functionsReached:
    - fs::path::filename
    - strcmp
    - auto::append
    - ipmid_get_sd_bus_connection
    - sdbusplus::bus_t::call
    - std::sort
    - auto::read
    - end
    - name
    - sdbusplus::bus_t::new_method_call
    - ObjectPaths
    - begin
    - std::stoul
    - clear
    linkageType: ''
    returnType: void
    signature: void readLoggingObjectPaths(ObjectPaths& paths)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - recordType
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: ipmi::sel::internal::isRecordOEM
    functionSourceFile: /src/phosphor-host-ipmid/selutility.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isRecordOEM(uint8_t recordType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::from_chars
      Src: /src/phosphor-host-ipmid/selutility.cpp:67,1
    - Dst: data
      Src: /src/phosphor-host-ipmid/selutility.cpp:67,1
    - Dst: data
      Src: /src/phosphor-host-ipmid/selutility.cpp:67,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/selutility.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 69
    functionName: ipmi::sel::internal::convert
    functionSourceFile: /src/phosphor-host-ipmid/selutility.cpp
    functionUses: 6
    functionsReached:
    - data
    - size
    - std::from_chars
    linkageType: ''
    returnType: int
    signature: int convert(const std::string_view& str, int base = 10)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/phosphor-host-ipmid/selutility.cpp:75,1
    - Dst: std::vector::reserve
      Src: /src/phosphor-host-ipmid/selutility.cpp:76,1
    - Dst: std::vector::emplace_back
      Src: /src/phosphor-host-ipmid/selutility.cpp:79,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:80,1
    - Dst: ipmi::sel::internal::convert
      Src: /src/phosphor-host-ipmid/selutility.cpp:80,1
    - Dst: substr
      Src: /src/phosphor-host-ipmid/selutility.cpp:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 83
    functionName: ipmi::sel::internal::convertVec
    functionSourceFile: /src/phosphor-host-ipmid/selutility.cpp
    functionUses: 4
    functionsReached:
    - ipmi::sel::internal::convert
    - size
    - substr
    - static_cast<uint8_t>
    - std::vector::reserve
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> convertVec(const std::string_view& str)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/phosphor-host-ipmid/selutility.cpp:89,1
    - Dst: assert
      Src: /src/phosphor-host-ipmid/selutility.cpp:90,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/selutility.cpp:90,1
    - Dst: ipmi::sel::internal::convertVec
      Src: /src/phosphor-host-ipmid/selutility.cpp:91,1
    - Dst: static_cast<uint32_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:94,1
    - Dst: std::chrono::duration_cast<std::chrono::seconds>
      Src: /src/phosphor-host-ipmid/selutility.cpp:95,1
    - Dst: memcpy
      Src: /src/phosphor-host-ipmid/selutility.cpp:100,1
    - Dst: auto::data
      Src: /src/phosphor-host-ipmid/selutility.cpp:100,1
    - Dst: std::min
      Src: /src/phosphor-host-ipmid/selutility.cpp:101,1
    - Dst: auto::size
      Src: /src/phosphor-host-ipmid/selutility.cpp:101,1
    - Dst: static_cast<size_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:101,1
    - Dst: memcpy
      Src: /src/phosphor-host-ipmid/selutility.cpp:107,1
    - Dst: auto::data
      Src: /src/phosphor-host-ipmid/selutility.cpp:107,1
    - Dst: std::min
      Src: /src/phosphor-host-ipmid/selutility.cpp:108,1
    - Dst: auto::size
      Src: /src/phosphor-host-ipmid/selutility.cpp:108,1
    - Dst: static_cast<size_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:108,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - recordType
    - timestamp
    - ' data'
    - ' record'
    argTypes:
    - uint8_t
    - std::chrono::milliseconds
    - AdditionalData
    - GetSELEntryResponse
    assertStmts:
    - condition: (dataIter != data.end())
      pos:
        line_end: 89
        line_start: 89
        source_file: /src/phosphor-host-ipmid/selutility.cpp
    constantsTouched: []
    func_position:
      end: 110
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 110
    functionName: ipmi::sel::internal::constructOEMSEL
    functionSourceFile: /src/phosphor-host-ipmid/selutility.cpp
    functionUses: 2
    functionsReached:
    - static_cast<size_t>
    - std::min
    - ipmi::sel::internal::convertVec
    - std::chrono::duration_cast<std::chrono::seconds>
    - assert
    - memcpy
    - static_cast<uint32_t>
    - end
    - find
    - auto::size
    - auto::data
    linkageType: ''
    returnType: void
    signature: "void constructOEMSEL(uint8_t recordType, std::chrono::milliseconds
      timestamp,\n                     const AdditionalData& data, GetSELEntryResponse&
      record)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/selutility.cpp:118,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/selutility.cpp:119,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/selutility.cpp:127,1
    - Dst: assert
      Src: /src/phosphor-host-ipmid/selutility.cpp:128,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/selutility.cpp:128,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/selutility.cpp:130,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/selutility.cpp:132,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/selutility.cpp:138,1
    - Dst: assert
      Src: /src/phosphor-host-ipmid/selutility.cpp:139,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/selutility.cpp:139,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:140,1
    - Dst: ipmi::sel::internal::convert
      Src: /src/phosphor-host-ipmid/selutility.cpp:140,1
    - Dst: static_cast<uint32_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:146,1
    - Dst: std::chrono::duration_cast<std::chrono::seconds>
      Src: /src/phosphor-host-ipmid/selutility.cpp:147,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/selutility.cpp:148,1
    - Dst: assert
      Src: /src/phosphor-host-ipmid/selutility.cpp:149,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/selutility.cpp:149,1
    - Dst: static_cast<uint16_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:151,1
    - Dst: ipmi::sel::internal::convert
      Src: /src/phosphor-host-ipmid/selutility.cpp:151,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/selutility.cpp:153,1
    - Dst: assert
      Src: /src/phosphor-host-ipmid/selutility.cpp:154,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/selutility.cpp:154,1
    - Dst: ipmi::sel::internal::convertVec
      Src: /src/phosphor-host-ipmid/selutility.cpp:155,1
    - Dst: memcpy
      Src: /src/phosphor-host-ipmid/selutility.cpp:157,1
    - Dst: auto::data
      Src: /src/phosphor-host-ipmid/selutility.cpp:157,1
    - Dst: std::min
      Src: /src/phosphor-host-ipmid/selutility.cpp:158,1
    - Dst: auto::size
      Src: /src/phosphor-host-ipmid/selutility.cpp:158,1
    - Dst: static_cast<size_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 4
    argNames:
    - recordType
    - timestamp
    - ' data'
    - ' record'
    argTypes:
    - uint8_t
    - std::chrono::milliseconds
    - AdditionalData
    - GetSELEntryResponse
    assertStmts:
    - condition: (iter != data.end())
      pos:
        line_end: 138
        line_start: 138
        source_file: /src/phosphor-host-ipmid/selutility.cpp
    - condition: (iter != data.end())
      pos:
        line_end: 127
        line_start: 127
        source_file: /src/phosphor-host-ipmid/selutility.cpp
    - condition: (iter != data.end())
      pos:
        line_end: 148
        line_start: 148
        source_file: /src/phosphor-host-ipmid/selutility.cpp
    - condition: (iter != data.end())
      pos:
        line_end: 153
        line_start: 153
        source_file: /src/phosphor-host-ipmid/selutility.cpp
    constantsTouched: []
    func_position:
      end: 159
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 159
    functionName: ipmi::sel::internal::constructSEL
    functionSourceFile: /src/phosphor-host-ipmid/selutility.cpp
    functionUses: 2
    functionsReached:
    - static_cast<size_t>
    - ipmi::sel::internal::convert
    - std::min
    - ipmi::sel::internal::convertVec
    - elog<InternalFailure>
    - assert
    - std::chrono::duration_cast<std::chrono::seconds>
    - memcpy
    - static_cast<uint32_t>
    - static_cast<uint8_t>
    - end
    - find
    - auto::size
    - static_cast<uint16_t>
    - lg2::error
    - auto::data
    linkageType: ''
    returnType: void
    signature: "void constructSEL(uint8_t recordType, std::chrono::milliseconds timestamp,\n
      \                 const AdditionalData& data, const entryDataMap&,\n                  GetSELEntryResponse&
      record)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ipmid_get_sd_bus_connection
      Src: /src/phosphor-host-ipmid/selutility.cpp:167,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/selutility.cpp:168,1
    - Dst: sdbusplus::bus_t::new_method_call
      Src: /src/phosphor-host-ipmid/selutility.cpp:171,1
    - Dst: auto::c_str
      Src: /src/phosphor-host-ipmid/selutility.cpp:171,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/selutility.cpp:171,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/selutility.cpp:173,1
    - Dst: sdbusplus::bus_t::call
      Src: /src/phosphor-host-ipmid/selutility.cpp:178,1
    - Dst: auto::read
      Src: /src/phosphor-host-ipmid/selutility.cpp:179,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/selutility.cpp:183,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/selutility.cpp:185,1
    - Dst: entryDataMap::find
      Src: /src/phosphor-host-ipmid/selutility.cpp:190,1
    - Dst: entryDataMap::end
      Src: /src/phosphor-host-ipmid/selutility.cpp:191,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/selutility.cpp:193,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/selutility.cpp:194,1
    - Dst: entryDataMap::find
      Src: /src/phosphor-host-ipmid/selutility.cpp:199,1
    - Dst: entryDataMap::end
      Src: /src/phosphor-host-ipmid/selutility.cpp:200,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/selutility.cpp:202,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/selutility.cpp:203,1
    - Dst: std::get<uint64_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:206,1
    - Dst: static_cast<uint16_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:213,1
    - Dst: std::get<uint32_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:213,1
    - Dst: entryDataMap::find
      Src: /src/phosphor-host-ipmid/selutility.cpp:215,1
    - Dst: entryDataMap::end
      Src: /src/phosphor-host-ipmid/selutility.cpp:216,1
    - Dst: std::get<AdditionalData>
      Src: /src/phosphor-host-ipmid/selutility.cpp:220,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/selutility.cpp:221,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/selutility.cpp:222,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/selutility.cpp:231,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/selutility.cpp:233,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/selutility.cpp:234,1
    - Dst: std::get<AdditionalData>
      Src: /src/phosphor-host-ipmid/selutility.cpp:242,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:244,1
    - Dst: ipmi::sel::internal::convert
      Src: /src/phosphor-host-ipmid/selutility.cpp:244,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/selutility.cpp:244,1
    - Dst: ipmi::sel::internal::isRecordOEM
      Src: /src/phosphor-host-ipmid/selutility.cpp:245,1
    - Dst: ipmi::sel::internal::constructOEMSEL
      Src: /src/phosphor-host-ipmid/selutility.cpp:248,1
    - Dst: ipmi::sel::internal::constructSEL
      Src: /src/phosphor-host-ipmid/selutility.cpp:252,1
    - Dst: static_cast<uint32_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:258,1
    - Dst: std::chrono::duration_cast<std::chrono::seconds>
      Src: /src/phosphor-host-ipmid/selutility.cpp:259,1
    - Dst: entryDataMap::find
      Src: /src/phosphor-host-ipmid/selutility.cpp:271,1
    - Dst: entryDataMap::end
      Src: /src/phosphor-host-ipmid/selutility.cpp:272,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/selutility.cpp:274,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/selutility.cpp:275,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/selutility.cpp:279,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 53
    argCount: 2
    argNames:
    - ' objPath'
    - iter
    argTypes:
    - std::string
    - ipmi::sensor::InvObjectIDMap::const_iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 161
    functionDepth: 3
    functionLinenumber: 161
    functionLinenumberEnd: 291
    functionName: ipmi::sel::internal::prepareSELEntry
    functionSourceFile: /src/phosphor-host-ipmid/selutility.cpp
    functionUses: 1
    functionsReached:
    - auto::c_str
    - entryDataMap::find
    - ipmid_get_sd_bus_connection
    - std::get<uint64_t>
    - static_cast<uint32_t>
    - static_cast<uint8_t>
    - find
    - ipmi::sel::internal::isRecordOEM
    - std::get<uint32_t>
    - ipmi::sel::internal::constructSEL
    - sdbusplus::bus_t::call
    - c_str
    - entryDataMap::end
    - end
    - elog<InternalFailure>
    - std::chrono::duration_cast<std::chrono::seconds>
    - ipmi::sel::internal::constructOEMSEL
    - auto::append
    - ipmi::getService
    - sdbusplus::bus_t::new_method_call
    - lg2::error
    - ipmi::sel::internal::convert
    - std::get<bool>
    - std::get<AdditionalData>
    - auto::read
    - static_cast<uint16_t>
    linkageType: ''
    returnType: GetSELEntryResponse
    signature: "GetSELEntryResponse prepareSELEntry(\n    const std::string& objPath,\n
      \   ipmi::sensor::InvObjectIDMap::const_iterator iter)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - recordType
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: ipmi::sel::internal::isRecordOEM
    functionSourceFile: /src/phosphor-host-ipmid/selutility.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isRecordOEM(uint8_t recordType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::from_chars
      Src: /src/phosphor-host-ipmid/selutility.cpp:67,1
    - Dst: data
      Src: /src/phosphor-host-ipmid/selutility.cpp:67,1
    - Dst: data
      Src: /src/phosphor-host-ipmid/selutility.cpp:67,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/selutility.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 69
    functionName: ipmi::sel::internal::convert
    functionSourceFile: /src/phosphor-host-ipmid/selutility.cpp
    functionUses: 9
    functionsReached:
    - data
    - size
    - std::from_chars
    linkageType: ''
    returnType: int
    signature: int convert(const std::string_view& str, int base = 10)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/phosphor-host-ipmid/selutility.cpp:75,1
    - Dst: std::vector::reserve
      Src: /src/phosphor-host-ipmid/selutility.cpp:76,1
    - Dst: std::vector::emplace_back
      Src: /src/phosphor-host-ipmid/selutility.cpp:79,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:80,1
    - Dst: ipmi::sel::internal::convert
      Src: /src/phosphor-host-ipmid/selutility.cpp:80,1
    - Dst: substr
      Src: /src/phosphor-host-ipmid/selutility.cpp:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 83
    functionName: ipmi::sel::internal::convertVec
    functionSourceFile: /src/phosphor-host-ipmid/selutility.cpp
    functionUses: 6
    functionsReached:
    - ipmi::sel::internal::convert
    - size
    - substr
    - static_cast<uint8_t>
    - std::vector::reserve
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> convertVec(const std::string_view& str)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/phosphor-host-ipmid/selutility.cpp:89,1
    - Dst: assert
      Src: /src/phosphor-host-ipmid/selutility.cpp:90,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/selutility.cpp:90,1
    - Dst: ipmi::sel::internal::convertVec
      Src: /src/phosphor-host-ipmid/selutility.cpp:91,1
    - Dst: static_cast<uint32_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:94,1
    - Dst: std::chrono::duration_cast<std::chrono::seconds>
      Src: /src/phosphor-host-ipmid/selutility.cpp:95,1
    - Dst: memcpy
      Src: /src/phosphor-host-ipmid/selutility.cpp:100,1
    - Dst: auto::data
      Src: /src/phosphor-host-ipmid/selutility.cpp:100,1
    - Dst: std::min
      Src: /src/phosphor-host-ipmid/selutility.cpp:101,1
    - Dst: auto::size
      Src: /src/phosphor-host-ipmid/selutility.cpp:101,1
    - Dst: static_cast<size_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:101,1
    - Dst: memcpy
      Src: /src/phosphor-host-ipmid/selutility.cpp:107,1
    - Dst: auto::data
      Src: /src/phosphor-host-ipmid/selutility.cpp:107,1
    - Dst: std::min
      Src: /src/phosphor-host-ipmid/selutility.cpp:108,1
    - Dst: auto::size
      Src: /src/phosphor-host-ipmid/selutility.cpp:108,1
    - Dst: static_cast<size_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:108,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - recordType
    - timestamp
    - ' data'
    - ' record'
    argTypes:
    - uint8_t
    - std::chrono::milliseconds
    - AdditionalData
    - GetSELEntryResponse
    assertStmts:
    - condition: (dataIter != data.end())
      pos:
        line_end: 89
        line_start: 89
        source_file: /src/phosphor-host-ipmid/selutility.cpp
    constantsTouched: []
    func_position:
      end: 110
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 110
    functionName: ipmi::sel::internal::constructOEMSEL
    functionSourceFile: /src/phosphor-host-ipmid/selutility.cpp
    functionUses: 3
    functionsReached:
    - static_cast<size_t>
    - std::min
    - ipmi::sel::internal::convertVec
    - std::chrono::duration_cast<std::chrono::seconds>
    - assert
    - memcpy
    - static_cast<uint32_t>
    - end
    - find
    - auto::size
    - auto::data
    linkageType: ''
    returnType: void
    signature: "void constructOEMSEL(uint8_t recordType, std::chrono::milliseconds
      timestamp,\n                     const AdditionalData& data, GetSELEntryResponse&
      record)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/selutility.cpp:118,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/selutility.cpp:119,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/selutility.cpp:127,1
    - Dst: assert
      Src: /src/phosphor-host-ipmid/selutility.cpp:128,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/selutility.cpp:128,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/selutility.cpp:130,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/selutility.cpp:132,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/selutility.cpp:138,1
    - Dst: assert
      Src: /src/phosphor-host-ipmid/selutility.cpp:139,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/selutility.cpp:139,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:140,1
    - Dst: ipmi::sel::internal::convert
      Src: /src/phosphor-host-ipmid/selutility.cpp:140,1
    - Dst: static_cast<uint32_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:146,1
    - Dst: std::chrono::duration_cast<std::chrono::seconds>
      Src: /src/phosphor-host-ipmid/selutility.cpp:147,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/selutility.cpp:148,1
    - Dst: assert
      Src: /src/phosphor-host-ipmid/selutility.cpp:149,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/selutility.cpp:149,1
    - Dst: static_cast<uint16_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:151,1
    - Dst: ipmi::sel::internal::convert
      Src: /src/phosphor-host-ipmid/selutility.cpp:151,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/selutility.cpp:153,1
    - Dst: assert
      Src: /src/phosphor-host-ipmid/selutility.cpp:154,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/selutility.cpp:154,1
    - Dst: ipmi::sel::internal::convertVec
      Src: /src/phosphor-host-ipmid/selutility.cpp:155,1
    - Dst: memcpy
      Src: /src/phosphor-host-ipmid/selutility.cpp:157,1
    - Dst: auto::data
      Src: /src/phosphor-host-ipmid/selutility.cpp:157,1
    - Dst: std::min
      Src: /src/phosphor-host-ipmid/selutility.cpp:158,1
    - Dst: auto::size
      Src: /src/phosphor-host-ipmid/selutility.cpp:158,1
    - Dst: static_cast<size_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 4
    argNames:
    - recordType
    - timestamp
    - ' data'
    - ' record'
    argTypes:
    - uint8_t
    - std::chrono::milliseconds
    - AdditionalData
    - GetSELEntryResponse
    assertStmts:
    - condition: (iter != data.end())
      pos:
        line_end: 138
        line_start: 138
        source_file: /src/phosphor-host-ipmid/selutility.cpp
    - condition: (iter != data.end())
      pos:
        line_end: 127
        line_start: 127
        source_file: /src/phosphor-host-ipmid/selutility.cpp
    - condition: (iter != data.end())
      pos:
        line_end: 148
        line_start: 148
        source_file: /src/phosphor-host-ipmid/selutility.cpp
    - condition: (iter != data.end())
      pos:
        line_end: 153
        line_start: 153
        source_file: /src/phosphor-host-ipmid/selutility.cpp
    constantsTouched: []
    func_position:
      end: 159
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 159
    functionName: ipmi::sel::internal::constructSEL
    functionSourceFile: /src/phosphor-host-ipmid/selutility.cpp
    functionUses: 3
    functionsReached:
    - static_cast<size_t>
    - ipmi::sel::internal::convert
    - std::min
    - ipmi::sel::internal::convertVec
    - elog<InternalFailure>
    - assert
    - std::chrono::duration_cast<std::chrono::seconds>
    - memcpy
    - static_cast<uint32_t>
    - static_cast<uint8_t>
    - end
    - find
    - auto::size
    - static_cast<uint16_t>
    - lg2::error
    - auto::data
    linkageType: ''
    returnType: void
    signature: "void constructSEL(uint8_t recordType, std::chrono::milliseconds timestamp,\n
      \                 const AdditionalData& data, const entryDataMap&,\n                  GetSELEntryResponse&
      record)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ipmid_get_sd_bus_connection
      Src: /src/phosphor-host-ipmid/selutility.cpp:167,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/selutility.cpp:168,1
    - Dst: sdbusplus::bus_t::new_method_call
      Src: /src/phosphor-host-ipmid/selutility.cpp:171,1
    - Dst: auto::c_str
      Src: /src/phosphor-host-ipmid/selutility.cpp:171,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/selutility.cpp:171,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/selutility.cpp:173,1
    - Dst: sdbusplus::bus_t::call
      Src: /src/phosphor-host-ipmid/selutility.cpp:178,1
    - Dst: auto::read
      Src: /src/phosphor-host-ipmid/selutility.cpp:179,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/selutility.cpp:183,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/selutility.cpp:185,1
    - Dst: entryDataMap::find
      Src: /src/phosphor-host-ipmid/selutility.cpp:190,1
    - Dst: entryDataMap::end
      Src: /src/phosphor-host-ipmid/selutility.cpp:191,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/selutility.cpp:193,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/selutility.cpp:194,1
    - Dst: entryDataMap::find
      Src: /src/phosphor-host-ipmid/selutility.cpp:199,1
    - Dst: entryDataMap::end
      Src: /src/phosphor-host-ipmid/selutility.cpp:200,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/selutility.cpp:202,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/selutility.cpp:203,1
    - Dst: std::get<uint64_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:206,1
    - Dst: static_cast<uint16_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:213,1
    - Dst: std::get<uint32_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:213,1
    - Dst: entryDataMap::find
      Src: /src/phosphor-host-ipmid/selutility.cpp:215,1
    - Dst: entryDataMap::end
      Src: /src/phosphor-host-ipmid/selutility.cpp:216,1
    - Dst: std::get<AdditionalData>
      Src: /src/phosphor-host-ipmid/selutility.cpp:220,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/selutility.cpp:221,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/selutility.cpp:222,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/selutility.cpp:231,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/selutility.cpp:233,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/selutility.cpp:234,1
    - Dst: std::get<AdditionalData>
      Src: /src/phosphor-host-ipmid/selutility.cpp:242,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:244,1
    - Dst: ipmi::sel::internal::convert
      Src: /src/phosphor-host-ipmid/selutility.cpp:244,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/selutility.cpp:244,1
    - Dst: ipmi::sel::internal::isRecordOEM
      Src: /src/phosphor-host-ipmid/selutility.cpp:245,1
    - Dst: ipmi::sel::internal::constructOEMSEL
      Src: /src/phosphor-host-ipmid/selutility.cpp:248,1
    - Dst: ipmi::sel::internal::constructSEL
      Src: /src/phosphor-host-ipmid/selutility.cpp:252,1
    - Dst: static_cast<uint32_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:258,1
    - Dst: std::chrono::duration_cast<std::chrono::seconds>
      Src: /src/phosphor-host-ipmid/selutility.cpp:259,1
    - Dst: entryDataMap::find
      Src: /src/phosphor-host-ipmid/selutility.cpp:271,1
    - Dst: entryDataMap::end
      Src: /src/phosphor-host-ipmid/selutility.cpp:272,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/selutility.cpp:274,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/selutility.cpp:275,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/selutility.cpp:279,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 53
    argCount: 2
    argNames:
    - ' objPath'
    - iter
    argTypes:
    - std::string
    - ipmi::sensor::InvObjectIDMap::const_iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 161
    functionDepth: 3
    functionLinenumber: 161
    functionLinenumberEnd: 291
    functionName: ipmi::sel::internal::prepareSELEntry
    functionSourceFile: /src/phosphor-host-ipmid/selutility.cpp
    functionUses: 1
    functionsReached:
    - auto::c_str
    - entryDataMap::find
    - ipmid_get_sd_bus_connection
    - std::get<uint64_t>
    - static_cast<uint32_t>
    - static_cast<uint8_t>
    - find
    - ipmi::sel::internal::isRecordOEM
    - std::get<uint32_t>
    - ipmi::sel::internal::constructSEL
    - sdbusplus::bus_t::call
    - c_str
    - entryDataMap::end
    - end
    - elog<InternalFailure>
    - std::chrono::duration_cast<std::chrono::seconds>
    - ipmi::sel::internal::constructOEMSEL
    - auto::append
    - ipmi::getService
    - sdbusplus::bus_t::new_method_call
    - lg2::error
    - ipmi::sel::internal::convert
    - std::get<bool>
    - std::get<AdditionalData>
    - auto::read
    - static_cast<uint16_t>
    linkageType: ''
    returnType: GetSELEntryResponse
    signature: "GetSELEntryResponse prepareSELEntry(\n    const std::string& objPath,\n
      \   ipmi::sensor::InvObjectIDMap::const_iterator iter)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ipmid_get_sd_bus_connection
      Src: /src/phosphor-host-ipmid/selutility.cpp:297,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/selutility.cpp:306,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/selutility.cpp:308,1
    - Dst: std::get<std::vector<ipmi::Association>>
      Src: /src/phosphor-host-ipmid/selutility.cpp:309,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/selutility.cpp:313,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/selutility.cpp:315,1
    - Dst: std::get<0>
      Src: /src/phosphor-host-ipmid/selutility.cpp:325,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/selutility.cpp:327,1
    - Dst: std::get<2>
      Src: /src/phosphor-host-ipmid/selutility.cpp:327,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/selutility.cpp:328,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/selutility.cpp:330,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/selutility.cpp:331,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/selutility.cpp:333,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/selutility.cpp:334,1
    - Dst: ipmi::sel::internal::prepareSELEntry
      Src: /src/phosphor-host-ipmid/selutility.cpp:338,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/selutility.cpp:344,1
    - Dst: ipmi::sel::internal::prepareSELEntry
      Src: /src/phosphor-host-ipmid/selutility.cpp:345,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - ' objPath'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 295
    functionDepth: 4
    functionLinenumber: 295
    functionLinenumberEnd: 346
    functionName: ipmi::sel::convertLogEntrytoSEL
    functionSourceFile: /src/phosphor-host-ipmid/selutility.cpp
    functionUses: 1
    functionsReached:
    - find
    - ipmi::getService
    - ipmid_get_sd_bus_connection
    - std::get<0>
    - ipmi::sel::internal::prepareSELEntry
    - std::get<2>
    - std::get<std::vector<ipmi::Association>>
    - end
    - elog<InternalFailure>
    - ipmi::getDbusProperty
    - lg2::error
    linkageType: ''
    returnType: GetSELEntryResponse
    signature: GetSELEntryResponse convertLogEntrytoSEL(const std::string& objPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmid_get_sd_bus_connection
      Src: /src/phosphor-host-ipmid/selutility.cpp:350,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/selutility.cpp:357,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/selutility.cpp:358,1
    - Dst: std::get<uint64_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:360,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/selutility.cpp:364,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/selutility.cpp:366,1
    - Dst: std::chrono::duration_cast<std::chrono::seconds>
      Src: /src/phosphor-host-ipmid/selutility.cpp:371,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' objPath'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 372
    functionName: ipmi::sel::getEntryTimeStamp
    functionSourceFile: /src/phosphor-host-ipmid/selutility.cpp
    functionUses: 1
    functionsReached:
    - ipmi::getService
    - ipmid_get_sd_bus_connection
    - std::chrono::duration_cast<std::chrono::seconds>
    - std::get<uint64_t>
    - elog<InternalFailure>
    - ipmi::getDbusProperty
    - lg2::error
    linkageType: ''
    returnType: std::chrono::seconds
    signature: std::chrono::seconds getEntryTimeStamp(const std::string& objPath)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmid_get_sd_bus_connection
      Src: /src/phosphor-host-ipmid/selutility.cpp:376,1
    - Dst: clear
      Src: /src/phosphor-host-ipmid/selutility.cpp:378,1
    - Dst: sdbusplus::bus_t::new_method_call
      Src: /src/phosphor-host-ipmid/selutility.cpp:380,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/selutility.cpp:384,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/selutility.cpp:385,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/selutility.cpp:386,1
    - Dst: ObjectPaths
      Src: /src/phosphor-host-ipmid/selutility.cpp:386,1
    - Dst: sdbusplus::bus_t::call
      Src: /src/phosphor-host-ipmid/selutility.cpp:390,1
    - Dst: auto::read
      Src: /src/phosphor-host-ipmid/selutility.cpp:391,1
    - Dst: strcmp
      Src: /src/phosphor-host-ipmid/selutility.cpp:395,1
    - Dst: name
      Src: /src/phosphor-host-ipmid/selutility.cpp:395,1
    - Dst: std::sort
      Src: /src/phosphor-host-ipmid/selutility.cpp:402,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/selutility.cpp:402,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/selutility.cpp:402,1
    - Dst: std::stoul
      Src: /src/phosphor-host-ipmid/selutility.cpp:407,1
    - Dst: fs::path::filename
      Src: /src/phosphor-host-ipmid/selutility.cpp:407,1
    - Dst: std::stoul
      Src: /src/phosphor-host-ipmid/selutility.cpp:408,1
    - Dst: fs::path::filename
      Src: /src/phosphor-host-ipmid/selutility.cpp:408,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - ' paths'
    argTypes:
    - ObjectPaths
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 412
    functionName: ipmi::sel::readLoggingObjectPaths
    functionSourceFile: /src/phosphor-host-ipmid/selutility.cpp
    functionUses: 1
    functionsReached:
    - fs::path::filename
    - strcmp
    - auto::append
    - ipmid_get_sd_bus_connection
    - sdbusplus::bus_t::call
    - std::sort
    - auto::read
    - end
    - name
    - sdbusplus::bus_t::new_method_call
    - ObjectPaths
    - begin
    - std::stoul
    - clear
    linkageType: ''
    returnType: void
    signature: void readLoggingObjectPaths(ObjectPaths& paths)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - recordType
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: ipmi::sel::internal::isRecordOEM
    functionSourceFile: /src/phosphor-host-ipmid/selutility.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isRecordOEM(uint8_t recordType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::from_chars
      Src: /src/phosphor-host-ipmid/selutility.cpp:67,1
    - Dst: data
      Src: /src/phosphor-host-ipmid/selutility.cpp:67,1
    - Dst: data
      Src: /src/phosphor-host-ipmid/selutility.cpp:67,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/selutility.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 69
    functionName: ipmi::sel::internal::convert
    functionSourceFile: /src/phosphor-host-ipmid/selutility.cpp
    functionUses: 12
    functionsReached:
    - data
    - size
    - std::from_chars
    linkageType: ''
    returnType: int
    signature: int convert(const std::string_view& str, int base = 10)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/phosphor-host-ipmid/selutility.cpp:75,1
    - Dst: std::vector::reserve
      Src: /src/phosphor-host-ipmid/selutility.cpp:76,1
    - Dst: std::vector::emplace_back
      Src: /src/phosphor-host-ipmid/selutility.cpp:79,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:80,1
    - Dst: ipmi::sel::internal::convert
      Src: /src/phosphor-host-ipmid/selutility.cpp:80,1
    - Dst: substr
      Src: /src/phosphor-host-ipmid/selutility.cpp:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 83
    functionName: ipmi::sel::internal::convertVec
    functionSourceFile: /src/phosphor-host-ipmid/selutility.cpp
    functionUses: 8
    functionsReached:
    - ipmi::sel::internal::convert
    - size
    - substr
    - static_cast<uint8_t>
    - std::vector::reserve
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> convertVec(const std::string_view& str)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/phosphor-host-ipmid/selutility.cpp:89,1
    - Dst: assert
      Src: /src/phosphor-host-ipmid/selutility.cpp:90,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/selutility.cpp:90,1
    - Dst: ipmi::sel::internal::convertVec
      Src: /src/phosphor-host-ipmid/selutility.cpp:91,1
    - Dst: static_cast<uint32_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:94,1
    - Dst: std::chrono::duration_cast<std::chrono::seconds>
      Src: /src/phosphor-host-ipmid/selutility.cpp:95,1
    - Dst: memcpy
      Src: /src/phosphor-host-ipmid/selutility.cpp:100,1
    - Dst: auto::data
      Src: /src/phosphor-host-ipmid/selutility.cpp:100,1
    - Dst: std::min
      Src: /src/phosphor-host-ipmid/selutility.cpp:101,1
    - Dst: auto::size
      Src: /src/phosphor-host-ipmid/selutility.cpp:101,1
    - Dst: static_cast<size_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:101,1
    - Dst: memcpy
      Src: /src/phosphor-host-ipmid/selutility.cpp:107,1
    - Dst: auto::data
      Src: /src/phosphor-host-ipmid/selutility.cpp:107,1
    - Dst: std::min
      Src: /src/phosphor-host-ipmid/selutility.cpp:108,1
    - Dst: auto::size
      Src: /src/phosphor-host-ipmid/selutility.cpp:108,1
    - Dst: static_cast<size_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:108,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - recordType
    - timestamp
    - ' data'
    - ' record'
    argTypes:
    - uint8_t
    - std::chrono::milliseconds
    - AdditionalData
    - GetSELEntryResponse
    assertStmts:
    - condition: (dataIter != data.end())
      pos:
        line_end: 89
        line_start: 89
        source_file: /src/phosphor-host-ipmid/selutility.cpp
    constantsTouched: []
    func_position:
      end: 110
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 110
    functionName: ipmi::sel::internal::constructOEMSEL
    functionSourceFile: /src/phosphor-host-ipmid/selutility.cpp
    functionUses: 4
    functionsReached:
    - static_cast<size_t>
    - std::min
    - ipmi::sel::internal::convertVec
    - std::chrono::duration_cast<std::chrono::seconds>
    - assert
    - memcpy
    - static_cast<uint32_t>
    - end
    - find
    - auto::size
    - auto::data
    linkageType: ''
    returnType: void
    signature: "void constructOEMSEL(uint8_t recordType, std::chrono::milliseconds
      timestamp,\n                     const AdditionalData& data, GetSELEntryResponse&
      record)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/selutility.cpp:118,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/selutility.cpp:119,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/selutility.cpp:127,1
    - Dst: assert
      Src: /src/phosphor-host-ipmid/selutility.cpp:128,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/selutility.cpp:128,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/selutility.cpp:130,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/selutility.cpp:132,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/selutility.cpp:138,1
    - Dst: assert
      Src: /src/phosphor-host-ipmid/selutility.cpp:139,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/selutility.cpp:139,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:140,1
    - Dst: ipmi::sel::internal::convert
      Src: /src/phosphor-host-ipmid/selutility.cpp:140,1
    - Dst: static_cast<uint32_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:146,1
    - Dst: std::chrono::duration_cast<std::chrono::seconds>
      Src: /src/phosphor-host-ipmid/selutility.cpp:147,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/selutility.cpp:148,1
    - Dst: assert
      Src: /src/phosphor-host-ipmid/selutility.cpp:149,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/selutility.cpp:149,1
    - Dst: static_cast<uint16_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:151,1
    - Dst: ipmi::sel::internal::convert
      Src: /src/phosphor-host-ipmid/selutility.cpp:151,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/selutility.cpp:153,1
    - Dst: assert
      Src: /src/phosphor-host-ipmid/selutility.cpp:154,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/selutility.cpp:154,1
    - Dst: ipmi::sel::internal::convertVec
      Src: /src/phosphor-host-ipmid/selutility.cpp:155,1
    - Dst: memcpy
      Src: /src/phosphor-host-ipmid/selutility.cpp:157,1
    - Dst: auto::data
      Src: /src/phosphor-host-ipmid/selutility.cpp:157,1
    - Dst: std::min
      Src: /src/phosphor-host-ipmid/selutility.cpp:158,1
    - Dst: auto::size
      Src: /src/phosphor-host-ipmid/selutility.cpp:158,1
    - Dst: static_cast<size_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 4
    argNames:
    - recordType
    - timestamp
    - ' data'
    - ' record'
    argTypes:
    - uint8_t
    - std::chrono::milliseconds
    - AdditionalData
    - GetSELEntryResponse
    assertStmts:
    - condition: (iter != data.end())
      pos:
        line_end: 138
        line_start: 138
        source_file: /src/phosphor-host-ipmid/selutility.cpp
    - condition: (iter != data.end())
      pos:
        line_end: 127
        line_start: 127
        source_file: /src/phosphor-host-ipmid/selutility.cpp
    - condition: (iter != data.end())
      pos:
        line_end: 148
        line_start: 148
        source_file: /src/phosphor-host-ipmid/selutility.cpp
    - condition: (iter != data.end())
      pos:
        line_end: 153
        line_start: 153
        source_file: /src/phosphor-host-ipmid/selutility.cpp
    constantsTouched: []
    func_position:
      end: 159
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 159
    functionName: ipmi::sel::internal::constructSEL
    functionSourceFile: /src/phosphor-host-ipmid/selutility.cpp
    functionUses: 4
    functionsReached:
    - static_cast<size_t>
    - ipmi::sel::internal::convert
    - std::min
    - ipmi::sel::internal::convertVec
    - elog<InternalFailure>
    - assert
    - std::chrono::duration_cast<std::chrono::seconds>
    - memcpy
    - static_cast<uint32_t>
    - static_cast<uint8_t>
    - end
    - find
    - auto::size
    - static_cast<uint16_t>
    - lg2::error
    - auto::data
    linkageType: ''
    returnType: void
    signature: "void constructSEL(uint8_t recordType, std::chrono::milliseconds timestamp,\n
      \                 const AdditionalData& data, const entryDataMap&,\n                  GetSELEntryResponse&
      record)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ipmid_get_sd_bus_connection
      Src: /src/phosphor-host-ipmid/selutility.cpp:167,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/selutility.cpp:168,1
    - Dst: sdbusplus::bus_t::new_method_call
      Src: /src/phosphor-host-ipmid/selutility.cpp:171,1
    - Dst: auto::c_str
      Src: /src/phosphor-host-ipmid/selutility.cpp:171,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/selutility.cpp:171,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/selutility.cpp:173,1
    - Dst: sdbusplus::bus_t::call
      Src: /src/phosphor-host-ipmid/selutility.cpp:178,1
    - Dst: auto::read
      Src: /src/phosphor-host-ipmid/selutility.cpp:179,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/selutility.cpp:183,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/selutility.cpp:185,1
    - Dst: entryDataMap::find
      Src: /src/phosphor-host-ipmid/selutility.cpp:190,1
    - Dst: entryDataMap::end
      Src: /src/phosphor-host-ipmid/selutility.cpp:191,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/selutility.cpp:193,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/selutility.cpp:194,1
    - Dst: entryDataMap::find
      Src: /src/phosphor-host-ipmid/selutility.cpp:199,1
    - Dst: entryDataMap::end
      Src: /src/phosphor-host-ipmid/selutility.cpp:200,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/selutility.cpp:202,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/selutility.cpp:203,1
    - Dst: std::get<uint64_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:206,1
    - Dst: static_cast<uint16_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:213,1
    - Dst: std::get<uint32_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:213,1
    - Dst: entryDataMap::find
      Src: /src/phosphor-host-ipmid/selutility.cpp:215,1
    - Dst: entryDataMap::end
      Src: /src/phosphor-host-ipmid/selutility.cpp:216,1
    - Dst: std::get<AdditionalData>
      Src: /src/phosphor-host-ipmid/selutility.cpp:220,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/selutility.cpp:221,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/selutility.cpp:222,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/selutility.cpp:231,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/selutility.cpp:233,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/selutility.cpp:234,1
    - Dst: std::get<AdditionalData>
      Src: /src/phosphor-host-ipmid/selutility.cpp:242,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:244,1
    - Dst: ipmi::sel::internal::convert
      Src: /src/phosphor-host-ipmid/selutility.cpp:244,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/selutility.cpp:244,1
    - Dst: ipmi::sel::internal::isRecordOEM
      Src: /src/phosphor-host-ipmid/selutility.cpp:245,1
    - Dst: ipmi::sel::internal::constructOEMSEL
      Src: /src/phosphor-host-ipmid/selutility.cpp:248,1
    - Dst: ipmi::sel::internal::constructSEL
      Src: /src/phosphor-host-ipmid/selutility.cpp:252,1
    - Dst: static_cast<uint32_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:258,1
    - Dst: std::chrono::duration_cast<std::chrono::seconds>
      Src: /src/phosphor-host-ipmid/selutility.cpp:259,1
    - Dst: entryDataMap::find
      Src: /src/phosphor-host-ipmid/selutility.cpp:271,1
    - Dst: entryDataMap::end
      Src: /src/phosphor-host-ipmid/selutility.cpp:272,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/selutility.cpp:274,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/selutility.cpp:275,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/selutility.cpp:279,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 53
    argCount: 2
    argNames:
    - ' objPath'
    - iter
    argTypes:
    - std::string
    - ipmi::sensor::InvObjectIDMap::const_iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 161
    functionDepth: 3
    functionLinenumber: 161
    functionLinenumberEnd: 291
    functionName: ipmi::sel::internal::prepareSELEntry
    functionSourceFile: /src/phosphor-host-ipmid/selutility.cpp
    functionUses: 2
    functionsReached:
    - auto::c_str
    - entryDataMap::find
    - ipmid_get_sd_bus_connection
    - std::get<uint64_t>
    - static_cast<uint32_t>
    - static_cast<uint8_t>
    - find
    - ipmi::sel::internal::isRecordOEM
    - std::get<uint32_t>
    - ipmi::sel::internal::constructSEL
    - sdbusplus::bus_t::call
    - c_str
    - entryDataMap::end
    - end
    - elog<InternalFailure>
    - std::chrono::duration_cast<std::chrono::seconds>
    - ipmi::sel::internal::constructOEMSEL
    - auto::append
    - ipmi::getService
    - sdbusplus::bus_t::new_method_call
    - lg2::error
    - ipmi::sel::internal::convert
    - std::get<bool>
    - std::get<AdditionalData>
    - auto::read
    - static_cast<uint16_t>
    linkageType: ''
    returnType: GetSELEntryResponse
    signature: "GetSELEntryResponse prepareSELEntry(\n    const std::string& objPath,\n
      \   ipmi::sensor::InvObjectIDMap::const_iterator iter)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - recordType
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: ipmi::sel::internal::isRecordOEM
    functionSourceFile: /src/phosphor-host-ipmid/selutility.cpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isRecordOEM(uint8_t recordType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::from_chars
      Src: /src/phosphor-host-ipmid/selutility.cpp:67,1
    - Dst: data
      Src: /src/phosphor-host-ipmid/selutility.cpp:67,1
    - Dst: data
      Src: /src/phosphor-host-ipmid/selutility.cpp:67,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/selutility.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 69
    functionName: ipmi::sel::internal::convert
    functionSourceFile: /src/phosphor-host-ipmid/selutility.cpp
    functionUses: 15
    functionsReached:
    - data
    - size
    - std::from_chars
    linkageType: ''
    returnType: int
    signature: int convert(const std::string_view& str, int base = 10)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/phosphor-host-ipmid/selutility.cpp:75,1
    - Dst: std::vector::reserve
      Src: /src/phosphor-host-ipmid/selutility.cpp:76,1
    - Dst: std::vector::emplace_back
      Src: /src/phosphor-host-ipmid/selutility.cpp:79,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:80,1
    - Dst: ipmi::sel::internal::convert
      Src: /src/phosphor-host-ipmid/selutility.cpp:80,1
    - Dst: substr
      Src: /src/phosphor-host-ipmid/selutility.cpp:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 83
    functionName: ipmi::sel::internal::convertVec
    functionSourceFile: /src/phosphor-host-ipmid/selutility.cpp
    functionUses: 10
    functionsReached:
    - ipmi::sel::internal::convert
    - size
    - substr
    - static_cast<uint8_t>
    - std::vector::reserve
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> convertVec(const std::string_view& str)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/phosphor-host-ipmid/selutility.cpp:89,1
    - Dst: assert
      Src: /src/phosphor-host-ipmid/selutility.cpp:90,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/selutility.cpp:90,1
    - Dst: ipmi::sel::internal::convertVec
      Src: /src/phosphor-host-ipmid/selutility.cpp:91,1
    - Dst: static_cast<uint32_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:94,1
    - Dst: std::chrono::duration_cast<std::chrono::seconds>
      Src: /src/phosphor-host-ipmid/selutility.cpp:95,1
    - Dst: memcpy
      Src: /src/phosphor-host-ipmid/selutility.cpp:100,1
    - Dst: auto::data
      Src: /src/phosphor-host-ipmid/selutility.cpp:100,1
    - Dst: std::min
      Src: /src/phosphor-host-ipmid/selutility.cpp:101,1
    - Dst: auto::size
      Src: /src/phosphor-host-ipmid/selutility.cpp:101,1
    - Dst: static_cast<size_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:101,1
    - Dst: memcpy
      Src: /src/phosphor-host-ipmid/selutility.cpp:107,1
    - Dst: auto::data
      Src: /src/phosphor-host-ipmid/selutility.cpp:107,1
    - Dst: std::min
      Src: /src/phosphor-host-ipmid/selutility.cpp:108,1
    - Dst: auto::size
      Src: /src/phosphor-host-ipmid/selutility.cpp:108,1
    - Dst: static_cast<size_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:108,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - recordType
    - timestamp
    - ' data'
    - ' record'
    argTypes:
    - uint8_t
    - std::chrono::milliseconds
    - AdditionalData
    - GetSELEntryResponse
    assertStmts:
    - condition: (dataIter != data.end())
      pos:
        line_end: 89
        line_start: 89
        source_file: /src/phosphor-host-ipmid/selutility.cpp
    constantsTouched: []
    func_position:
      end: 110
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 110
    functionName: ipmi::sel::internal::constructOEMSEL
    functionSourceFile: /src/phosphor-host-ipmid/selutility.cpp
    functionUses: 5
    functionsReached:
    - static_cast<size_t>
    - std::min
    - ipmi::sel::internal::convertVec
    - std::chrono::duration_cast<std::chrono::seconds>
    - assert
    - memcpy
    - static_cast<uint32_t>
    - end
    - find
    - auto::size
    - auto::data
    linkageType: ''
    returnType: void
    signature: "void constructOEMSEL(uint8_t recordType, std::chrono::milliseconds
      timestamp,\n                     const AdditionalData& data, GetSELEntryResponse&
      record)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/selutility.cpp:118,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/selutility.cpp:119,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/selutility.cpp:127,1
    - Dst: assert
      Src: /src/phosphor-host-ipmid/selutility.cpp:128,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/selutility.cpp:128,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/selutility.cpp:130,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/selutility.cpp:132,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/selutility.cpp:138,1
    - Dst: assert
      Src: /src/phosphor-host-ipmid/selutility.cpp:139,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/selutility.cpp:139,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:140,1
    - Dst: ipmi::sel::internal::convert
      Src: /src/phosphor-host-ipmid/selutility.cpp:140,1
    - Dst: static_cast<uint32_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:146,1
    - Dst: std::chrono::duration_cast<std::chrono::seconds>
      Src: /src/phosphor-host-ipmid/selutility.cpp:147,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/selutility.cpp:148,1
    - Dst: assert
      Src: /src/phosphor-host-ipmid/selutility.cpp:149,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/selutility.cpp:149,1
    - Dst: static_cast<uint16_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:151,1
    - Dst: ipmi::sel::internal::convert
      Src: /src/phosphor-host-ipmid/selutility.cpp:151,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/selutility.cpp:153,1
    - Dst: assert
      Src: /src/phosphor-host-ipmid/selutility.cpp:154,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/selutility.cpp:154,1
    - Dst: ipmi::sel::internal::convertVec
      Src: /src/phosphor-host-ipmid/selutility.cpp:155,1
    - Dst: memcpy
      Src: /src/phosphor-host-ipmid/selutility.cpp:157,1
    - Dst: auto::data
      Src: /src/phosphor-host-ipmid/selutility.cpp:157,1
    - Dst: std::min
      Src: /src/phosphor-host-ipmid/selutility.cpp:158,1
    - Dst: auto::size
      Src: /src/phosphor-host-ipmid/selutility.cpp:158,1
    - Dst: static_cast<size_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 4
    argNames:
    - recordType
    - timestamp
    - ' data'
    - ' record'
    argTypes:
    - uint8_t
    - std::chrono::milliseconds
    - AdditionalData
    - GetSELEntryResponse
    assertStmts:
    - condition: (iter != data.end())
      pos:
        line_end: 138
        line_start: 138
        source_file: /src/phosphor-host-ipmid/selutility.cpp
    - condition: (iter != data.end())
      pos:
        line_end: 127
        line_start: 127
        source_file: /src/phosphor-host-ipmid/selutility.cpp
    - condition: (iter != data.end())
      pos:
        line_end: 148
        line_start: 148
        source_file: /src/phosphor-host-ipmid/selutility.cpp
    - condition: (iter != data.end())
      pos:
        line_end: 153
        line_start: 153
        source_file: /src/phosphor-host-ipmid/selutility.cpp
    constantsTouched: []
    func_position:
      end: 159
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 159
    functionName: ipmi::sel::internal::constructSEL
    functionSourceFile: /src/phosphor-host-ipmid/selutility.cpp
    functionUses: 5
    functionsReached:
    - static_cast<size_t>
    - ipmi::sel::internal::convert
    - std::min
    - ipmi::sel::internal::convertVec
    - elog<InternalFailure>
    - assert
    - std::chrono::duration_cast<std::chrono::seconds>
    - memcpy
    - static_cast<uint32_t>
    - static_cast<uint8_t>
    - end
    - find
    - auto::size
    - static_cast<uint16_t>
    - lg2::error
    - auto::data
    linkageType: ''
    returnType: void
    signature: "void constructSEL(uint8_t recordType, std::chrono::milliseconds timestamp,\n
      \                 const AdditionalData& data, const entryDataMap&,\n                  GetSELEntryResponse&
      record)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ipmid_get_sd_bus_connection
      Src: /src/phosphor-host-ipmid/selutility.cpp:167,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/selutility.cpp:168,1
    - Dst: sdbusplus::bus_t::new_method_call
      Src: /src/phosphor-host-ipmid/selutility.cpp:171,1
    - Dst: auto::c_str
      Src: /src/phosphor-host-ipmid/selutility.cpp:171,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/selutility.cpp:171,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/selutility.cpp:173,1
    - Dst: sdbusplus::bus_t::call
      Src: /src/phosphor-host-ipmid/selutility.cpp:178,1
    - Dst: auto::read
      Src: /src/phosphor-host-ipmid/selutility.cpp:179,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/selutility.cpp:183,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/selutility.cpp:185,1
    - Dst: entryDataMap::find
      Src: /src/phosphor-host-ipmid/selutility.cpp:190,1
    - Dst: entryDataMap::end
      Src: /src/phosphor-host-ipmid/selutility.cpp:191,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/selutility.cpp:193,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/selutility.cpp:194,1
    - Dst: entryDataMap::find
      Src: /src/phosphor-host-ipmid/selutility.cpp:199,1
    - Dst: entryDataMap::end
      Src: /src/phosphor-host-ipmid/selutility.cpp:200,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/selutility.cpp:202,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/selutility.cpp:203,1
    - Dst: std::get<uint64_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:206,1
    - Dst: static_cast<uint16_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:213,1
    - Dst: std::get<uint32_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:213,1
    - Dst: entryDataMap::find
      Src: /src/phosphor-host-ipmid/selutility.cpp:215,1
    - Dst: entryDataMap::end
      Src: /src/phosphor-host-ipmid/selutility.cpp:216,1
    - Dst: std::get<AdditionalData>
      Src: /src/phosphor-host-ipmid/selutility.cpp:220,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/selutility.cpp:221,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/selutility.cpp:222,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/selutility.cpp:231,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/selutility.cpp:233,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/selutility.cpp:234,1
    - Dst: std::get<AdditionalData>
      Src: /src/phosphor-host-ipmid/selutility.cpp:242,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:244,1
    - Dst: ipmi::sel::internal::convert
      Src: /src/phosphor-host-ipmid/selutility.cpp:244,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/selutility.cpp:244,1
    - Dst: ipmi::sel::internal::isRecordOEM
      Src: /src/phosphor-host-ipmid/selutility.cpp:245,1
    - Dst: ipmi::sel::internal::constructOEMSEL
      Src: /src/phosphor-host-ipmid/selutility.cpp:248,1
    - Dst: ipmi::sel::internal::constructSEL
      Src: /src/phosphor-host-ipmid/selutility.cpp:252,1
    - Dst: static_cast<uint32_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:258,1
    - Dst: std::chrono::duration_cast<std::chrono::seconds>
      Src: /src/phosphor-host-ipmid/selutility.cpp:259,1
    - Dst: entryDataMap::find
      Src: /src/phosphor-host-ipmid/selutility.cpp:271,1
    - Dst: entryDataMap::end
      Src: /src/phosphor-host-ipmid/selutility.cpp:272,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/selutility.cpp:274,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/selutility.cpp:275,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/selutility.cpp:279,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 53
    argCount: 2
    argNames:
    - ' objPath'
    - iter
    argTypes:
    - std::string
    - ipmi::sensor::InvObjectIDMap::const_iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 161
    functionDepth: 3
    functionLinenumber: 161
    functionLinenumberEnd: 291
    functionName: ipmi::sel::internal::prepareSELEntry
    functionSourceFile: /src/phosphor-host-ipmid/selutility.cpp
    functionUses: 2
    functionsReached:
    - auto::c_str
    - entryDataMap::find
    - ipmid_get_sd_bus_connection
    - std::get<uint64_t>
    - static_cast<uint32_t>
    - static_cast<uint8_t>
    - find
    - ipmi::sel::internal::isRecordOEM
    - std::get<uint32_t>
    - ipmi::sel::internal::constructSEL
    - sdbusplus::bus_t::call
    - c_str
    - entryDataMap::end
    - end
    - elog<InternalFailure>
    - std::chrono::duration_cast<std::chrono::seconds>
    - ipmi::sel::internal::constructOEMSEL
    - auto::append
    - ipmi::getService
    - sdbusplus::bus_t::new_method_call
    - lg2::error
    - ipmi::sel::internal::convert
    - std::get<bool>
    - std::get<AdditionalData>
    - auto::read
    - static_cast<uint16_t>
    linkageType: ''
    returnType: GetSELEntryResponse
    signature: "GetSELEntryResponse prepareSELEntry(\n    const std::string& objPath,\n
      \   ipmi::sensor::InvObjectIDMap::const_iterator iter)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ipmid_get_sd_bus_connection
      Src: /src/phosphor-host-ipmid/selutility.cpp:297,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/selutility.cpp:306,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/selutility.cpp:308,1
    - Dst: std::get<std::vector<ipmi::Association>>
      Src: /src/phosphor-host-ipmid/selutility.cpp:309,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/selutility.cpp:313,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/selutility.cpp:315,1
    - Dst: std::get<0>
      Src: /src/phosphor-host-ipmid/selutility.cpp:325,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/selutility.cpp:327,1
    - Dst: std::get<2>
      Src: /src/phosphor-host-ipmid/selutility.cpp:327,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/selutility.cpp:328,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/selutility.cpp:330,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/selutility.cpp:331,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/selutility.cpp:333,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/selutility.cpp:334,1
    - Dst: ipmi::sel::internal::prepareSELEntry
      Src: /src/phosphor-host-ipmid/selutility.cpp:338,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/selutility.cpp:344,1
    - Dst: ipmi::sel::internal::prepareSELEntry
      Src: /src/phosphor-host-ipmid/selutility.cpp:345,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - ' objPath'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 295
    functionDepth: 4
    functionLinenumber: 295
    functionLinenumberEnd: 346
    functionName: ipmi::sel::convertLogEntrytoSEL
    functionSourceFile: /src/phosphor-host-ipmid/selutility.cpp
    functionUses: 1
    functionsReached:
    - find
    - ipmi::getService
    - ipmid_get_sd_bus_connection
    - std::get<0>
    - ipmi::sel::internal::prepareSELEntry
    - std::get<2>
    - std::get<std::vector<ipmi::Association>>
    - end
    - elog<InternalFailure>
    - ipmi::getDbusProperty
    - lg2::error
    linkageType: ''
    returnType: GetSELEntryResponse
    signature: GetSELEntryResponse convertLogEntrytoSEL(const std::string& objPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmid_get_sd_bus_connection
      Src: /src/phosphor-host-ipmid/selutility.cpp:350,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/selutility.cpp:357,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/selutility.cpp:358,1
    - Dst: std::get<uint64_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:360,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/selutility.cpp:364,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/selutility.cpp:366,1
    - Dst: std::chrono::duration_cast<std::chrono::seconds>
      Src: /src/phosphor-host-ipmid/selutility.cpp:371,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' objPath'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 372
    functionName: ipmi::sel::getEntryTimeStamp
    functionSourceFile: /src/phosphor-host-ipmid/selutility.cpp
    functionUses: 1
    functionsReached:
    - ipmi::getService
    - ipmid_get_sd_bus_connection
    - std::chrono::duration_cast<std::chrono::seconds>
    - std::get<uint64_t>
    - elog<InternalFailure>
    - ipmi::getDbusProperty
    - lg2::error
    linkageType: ''
    returnType: std::chrono::seconds
    signature: std::chrono::seconds getEntryTimeStamp(const std::string& objPath)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmid_get_sd_bus_connection
      Src: /src/phosphor-host-ipmid/selutility.cpp:376,1
    - Dst: clear
      Src: /src/phosphor-host-ipmid/selutility.cpp:378,1
    - Dst: sdbusplus::bus_t::new_method_call
      Src: /src/phosphor-host-ipmid/selutility.cpp:380,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/selutility.cpp:384,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/selutility.cpp:385,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/selutility.cpp:386,1
    - Dst: ObjectPaths
      Src: /src/phosphor-host-ipmid/selutility.cpp:386,1
    - Dst: sdbusplus::bus_t::call
      Src: /src/phosphor-host-ipmid/selutility.cpp:390,1
    - Dst: auto::read
      Src: /src/phosphor-host-ipmid/selutility.cpp:391,1
    - Dst: strcmp
      Src: /src/phosphor-host-ipmid/selutility.cpp:395,1
    - Dst: name
      Src: /src/phosphor-host-ipmid/selutility.cpp:395,1
    - Dst: std::sort
      Src: /src/phosphor-host-ipmid/selutility.cpp:402,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/selutility.cpp:402,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/selutility.cpp:402,1
    - Dst: std::stoul
      Src: /src/phosphor-host-ipmid/selutility.cpp:407,1
    - Dst: fs::path::filename
      Src: /src/phosphor-host-ipmid/selutility.cpp:407,1
    - Dst: std::stoul
      Src: /src/phosphor-host-ipmid/selutility.cpp:408,1
    - Dst: fs::path::filename
      Src: /src/phosphor-host-ipmid/selutility.cpp:408,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - ' paths'
    argTypes:
    - ObjectPaths
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 412
    functionName: ipmi::sel::readLoggingObjectPaths
    functionSourceFile: /src/phosphor-host-ipmid/selutility.cpp
    functionUses: 1
    functionsReached:
    - fs::path::filename
    - strcmp
    - auto::append
    - ipmid_get_sd_bus_connection
    - sdbusplus::bus_t::call
    - std::sort
    - auto::read
    - end
    - name
    - sdbusplus::bus_t::new_method_call
    - ObjectPaths
    - begin
    - std::stoul
    - clear
    linkageType: ''
    returnType: void
    signature: void readLoggingObjectPaths(ObjectPaths& paths)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - recordType
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: ipmi::sel::internal::isRecordOEM
    functionSourceFile: /src/phosphor-host-ipmid/selutility.cpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isRecordOEM(uint8_t recordType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::from_chars
      Src: /src/phosphor-host-ipmid/selutility.cpp:67,1
    - Dst: data
      Src: /src/phosphor-host-ipmid/selutility.cpp:67,1
    - Dst: data
      Src: /src/phosphor-host-ipmid/selutility.cpp:67,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/selutility.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 69
    functionName: ipmi::sel::internal::convert
    functionSourceFile: /src/phosphor-host-ipmid/selutility.cpp
    functionUses: 18
    functionsReached:
    - data
    - size
    - std::from_chars
    linkageType: ''
    returnType: int
    signature: int convert(const std::string_view& str, int base = 10)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/phosphor-host-ipmid/selutility.cpp:75,1
    - Dst: std::vector::reserve
      Src: /src/phosphor-host-ipmid/selutility.cpp:76,1
    - Dst: std::vector::emplace_back
      Src: /src/phosphor-host-ipmid/selutility.cpp:79,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:80,1
    - Dst: ipmi::sel::internal::convert
      Src: /src/phosphor-host-ipmid/selutility.cpp:80,1
    - Dst: substr
      Src: /src/phosphor-host-ipmid/selutility.cpp:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 83
    functionName: ipmi::sel::internal::convertVec
    functionSourceFile: /src/phosphor-host-ipmid/selutility.cpp
    functionUses: 12
    functionsReached:
    - ipmi::sel::internal::convert
    - size
    - substr
    - static_cast<uint8_t>
    - std::vector::reserve
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> convertVec(const std::string_view& str)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/phosphor-host-ipmid/selutility.cpp:89,1
    - Dst: assert
      Src: /src/phosphor-host-ipmid/selutility.cpp:90,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/selutility.cpp:90,1
    - Dst: ipmi::sel::internal::convertVec
      Src: /src/phosphor-host-ipmid/selutility.cpp:91,1
    - Dst: static_cast<uint32_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:94,1
    - Dst: std::chrono::duration_cast<std::chrono::seconds>
      Src: /src/phosphor-host-ipmid/selutility.cpp:95,1
    - Dst: memcpy
      Src: /src/phosphor-host-ipmid/selutility.cpp:100,1
    - Dst: auto::data
      Src: /src/phosphor-host-ipmid/selutility.cpp:100,1
    - Dst: std::min
      Src: /src/phosphor-host-ipmid/selutility.cpp:101,1
    - Dst: auto::size
      Src: /src/phosphor-host-ipmid/selutility.cpp:101,1
    - Dst: static_cast<size_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:101,1
    - Dst: memcpy
      Src: /src/phosphor-host-ipmid/selutility.cpp:107,1
    - Dst: auto::data
      Src: /src/phosphor-host-ipmid/selutility.cpp:107,1
    - Dst: std::min
      Src: /src/phosphor-host-ipmid/selutility.cpp:108,1
    - Dst: auto::size
      Src: /src/phosphor-host-ipmid/selutility.cpp:108,1
    - Dst: static_cast<size_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:108,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - recordType
    - timestamp
    - ' data'
    - ' record'
    argTypes:
    - uint8_t
    - std::chrono::milliseconds
    - AdditionalData
    - GetSELEntryResponse
    assertStmts:
    - condition: (dataIter != data.end())
      pos:
        line_end: 89
        line_start: 89
        source_file: /src/phosphor-host-ipmid/selutility.cpp
    constantsTouched: []
    func_position:
      end: 110
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 110
    functionName: ipmi::sel::internal::constructOEMSEL
    functionSourceFile: /src/phosphor-host-ipmid/selutility.cpp
    functionUses: 6
    functionsReached:
    - static_cast<size_t>
    - std::min
    - ipmi::sel::internal::convertVec
    - std::chrono::duration_cast<std::chrono::seconds>
    - assert
    - memcpy
    - static_cast<uint32_t>
    - end
    - find
    - auto::size
    - auto::data
    linkageType: ''
    returnType: void
    signature: "void constructOEMSEL(uint8_t recordType, std::chrono::milliseconds
      timestamp,\n                     const AdditionalData& data, GetSELEntryResponse&
      record)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/selutility.cpp:118,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/selutility.cpp:119,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/selutility.cpp:127,1
    - Dst: assert
      Src: /src/phosphor-host-ipmid/selutility.cpp:128,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/selutility.cpp:128,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/selutility.cpp:130,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/selutility.cpp:132,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/selutility.cpp:138,1
    - Dst: assert
      Src: /src/phosphor-host-ipmid/selutility.cpp:139,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/selutility.cpp:139,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:140,1
    - Dst: ipmi::sel::internal::convert
      Src: /src/phosphor-host-ipmid/selutility.cpp:140,1
    - Dst: static_cast<uint32_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:146,1
    - Dst: std::chrono::duration_cast<std::chrono::seconds>
      Src: /src/phosphor-host-ipmid/selutility.cpp:147,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/selutility.cpp:148,1
    - Dst: assert
      Src: /src/phosphor-host-ipmid/selutility.cpp:149,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/selutility.cpp:149,1
    - Dst: static_cast<uint16_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:151,1
    - Dst: ipmi::sel::internal::convert
      Src: /src/phosphor-host-ipmid/selutility.cpp:151,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/selutility.cpp:153,1
    - Dst: assert
      Src: /src/phosphor-host-ipmid/selutility.cpp:154,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/selutility.cpp:154,1
    - Dst: ipmi::sel::internal::convertVec
      Src: /src/phosphor-host-ipmid/selutility.cpp:155,1
    - Dst: memcpy
      Src: /src/phosphor-host-ipmid/selutility.cpp:157,1
    - Dst: auto::data
      Src: /src/phosphor-host-ipmid/selutility.cpp:157,1
    - Dst: std::min
      Src: /src/phosphor-host-ipmid/selutility.cpp:158,1
    - Dst: auto::size
      Src: /src/phosphor-host-ipmid/selutility.cpp:158,1
    - Dst: static_cast<size_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 4
    argNames:
    - recordType
    - timestamp
    - ' data'
    - ' record'
    argTypes:
    - uint8_t
    - std::chrono::milliseconds
    - AdditionalData
    - GetSELEntryResponse
    assertStmts:
    - condition: (iter != data.end())
      pos:
        line_end: 138
        line_start: 138
        source_file: /src/phosphor-host-ipmid/selutility.cpp
    - condition: (iter != data.end())
      pos:
        line_end: 127
        line_start: 127
        source_file: /src/phosphor-host-ipmid/selutility.cpp
    - condition: (iter != data.end())
      pos:
        line_end: 148
        line_start: 148
        source_file: /src/phosphor-host-ipmid/selutility.cpp
    - condition: (iter != data.end())
      pos:
        line_end: 153
        line_start: 153
        source_file: /src/phosphor-host-ipmid/selutility.cpp
    constantsTouched: []
    func_position:
      end: 159
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 159
    functionName: ipmi::sel::internal::constructSEL
    functionSourceFile: /src/phosphor-host-ipmid/selutility.cpp
    functionUses: 6
    functionsReached:
    - static_cast<size_t>
    - ipmi::sel::internal::convert
    - std::min
    - ipmi::sel::internal::convertVec
    - elog<InternalFailure>
    - assert
    - std::chrono::duration_cast<std::chrono::seconds>
    - memcpy
    - static_cast<uint32_t>
    - static_cast<uint8_t>
    - end
    - find
    - auto::size
    - static_cast<uint16_t>
    - lg2::error
    - auto::data
    linkageType: ''
    returnType: void
    signature: "void constructSEL(uint8_t recordType, std::chrono::milliseconds timestamp,\n
      \                 const AdditionalData& data, const entryDataMap&,\n                  GetSELEntryResponse&
      record)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ipmid_get_sd_bus_connection
      Src: /src/phosphor-host-ipmid/selutility.cpp:167,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/selutility.cpp:168,1
    - Dst: sdbusplus::bus_t::new_method_call
      Src: /src/phosphor-host-ipmid/selutility.cpp:171,1
    - Dst: auto::c_str
      Src: /src/phosphor-host-ipmid/selutility.cpp:171,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/selutility.cpp:171,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/selutility.cpp:173,1
    - Dst: sdbusplus::bus_t::call
      Src: /src/phosphor-host-ipmid/selutility.cpp:178,1
    - Dst: auto::read
      Src: /src/phosphor-host-ipmid/selutility.cpp:179,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/selutility.cpp:183,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/selutility.cpp:185,1
    - Dst: entryDataMap::find
      Src: /src/phosphor-host-ipmid/selutility.cpp:190,1
    - Dst: entryDataMap::end
      Src: /src/phosphor-host-ipmid/selutility.cpp:191,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/selutility.cpp:193,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/selutility.cpp:194,1
    - Dst: entryDataMap::find
      Src: /src/phosphor-host-ipmid/selutility.cpp:199,1
    - Dst: entryDataMap::end
      Src: /src/phosphor-host-ipmid/selutility.cpp:200,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/selutility.cpp:202,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/selutility.cpp:203,1
    - Dst: std::get<uint64_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:206,1
    - Dst: static_cast<uint16_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:213,1
    - Dst: std::get<uint32_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:213,1
    - Dst: entryDataMap::find
      Src: /src/phosphor-host-ipmid/selutility.cpp:215,1
    - Dst: entryDataMap::end
      Src: /src/phosphor-host-ipmid/selutility.cpp:216,1
    - Dst: std::get<AdditionalData>
      Src: /src/phosphor-host-ipmid/selutility.cpp:220,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/selutility.cpp:221,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/selutility.cpp:222,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/selutility.cpp:231,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/selutility.cpp:233,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/selutility.cpp:234,1
    - Dst: std::get<AdditionalData>
      Src: /src/phosphor-host-ipmid/selutility.cpp:242,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:244,1
    - Dst: ipmi::sel::internal::convert
      Src: /src/phosphor-host-ipmid/selutility.cpp:244,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/selutility.cpp:244,1
    - Dst: ipmi::sel::internal::isRecordOEM
      Src: /src/phosphor-host-ipmid/selutility.cpp:245,1
    - Dst: ipmi::sel::internal::constructOEMSEL
      Src: /src/phosphor-host-ipmid/selutility.cpp:248,1
    - Dst: ipmi::sel::internal::constructSEL
      Src: /src/phosphor-host-ipmid/selutility.cpp:252,1
    - Dst: static_cast<uint32_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:258,1
    - Dst: std::chrono::duration_cast<std::chrono::seconds>
      Src: /src/phosphor-host-ipmid/selutility.cpp:259,1
    - Dst: entryDataMap::find
      Src: /src/phosphor-host-ipmid/selutility.cpp:271,1
    - Dst: entryDataMap::end
      Src: /src/phosphor-host-ipmid/selutility.cpp:272,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/selutility.cpp:274,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/selutility.cpp:275,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/selutility.cpp:279,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 53
    argCount: 2
    argNames:
    - ' objPath'
    - iter
    argTypes:
    - std::string
    - ipmi::sensor::InvObjectIDMap::const_iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 161
    functionDepth: 3
    functionLinenumber: 161
    functionLinenumberEnd: 291
    functionName: ipmi::sel::internal::prepareSELEntry
    functionSourceFile: /src/phosphor-host-ipmid/selutility.cpp
    functionUses: 3
    functionsReached:
    - auto::c_str
    - entryDataMap::find
    - ipmid_get_sd_bus_connection
    - std::get<uint64_t>
    - static_cast<uint32_t>
    - static_cast<uint8_t>
    - find
    - ipmi::sel::internal::isRecordOEM
    - std::get<uint32_t>
    - ipmi::sel::internal::constructSEL
    - sdbusplus::bus_t::call
    - c_str
    - entryDataMap::end
    - end
    - elog<InternalFailure>
    - std::chrono::duration_cast<std::chrono::seconds>
    - ipmi::sel::internal::constructOEMSEL
    - auto::append
    - ipmi::getService
    - sdbusplus::bus_t::new_method_call
    - lg2::error
    - ipmi::sel::internal::convert
    - std::get<bool>
    - std::get<AdditionalData>
    - auto::read
    - static_cast<uint16_t>
    linkageType: ''
    returnType: GetSELEntryResponse
    signature: "GetSELEntryResponse prepareSELEntry(\n    const std::string& objPath,\n
      \   ipmi::sensor::InvObjectIDMap::const_iterator iter)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - recordType
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: ipmi::sel::internal::isRecordOEM
    functionSourceFile: /src/phosphor-host-ipmid/selutility.cpp
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isRecordOEM(uint8_t recordType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::from_chars
      Src: /src/phosphor-host-ipmid/selutility.cpp:67,1
    - Dst: data
      Src: /src/phosphor-host-ipmid/selutility.cpp:67,1
    - Dst: data
      Src: /src/phosphor-host-ipmid/selutility.cpp:67,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/selutility.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 69
    functionName: ipmi::sel::internal::convert
    functionSourceFile: /src/phosphor-host-ipmid/selutility.cpp
    functionUses: 21
    functionsReached:
    - data
    - size
    - std::from_chars
    linkageType: ''
    returnType: int
    signature: int convert(const std::string_view& str, int base = 10)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/phosphor-host-ipmid/selutility.cpp:75,1
    - Dst: std::vector::reserve
      Src: /src/phosphor-host-ipmid/selutility.cpp:76,1
    - Dst: std::vector::emplace_back
      Src: /src/phosphor-host-ipmid/selutility.cpp:79,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:80,1
    - Dst: ipmi::sel::internal::convert
      Src: /src/phosphor-host-ipmid/selutility.cpp:80,1
    - Dst: substr
      Src: /src/phosphor-host-ipmid/selutility.cpp:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 83
    functionName: ipmi::sel::internal::convertVec
    functionSourceFile: /src/phosphor-host-ipmid/selutility.cpp
    functionUses: 14
    functionsReached:
    - ipmi::sel::internal::convert
    - size
    - substr
    - static_cast<uint8_t>
    - std::vector::reserve
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> convertVec(const std::string_view& str)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/phosphor-host-ipmid/selutility.cpp:89,1
    - Dst: assert
      Src: /src/phosphor-host-ipmid/selutility.cpp:90,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/selutility.cpp:90,1
    - Dst: ipmi::sel::internal::convertVec
      Src: /src/phosphor-host-ipmid/selutility.cpp:91,1
    - Dst: static_cast<uint32_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:94,1
    - Dst: std::chrono::duration_cast<std::chrono::seconds>
      Src: /src/phosphor-host-ipmid/selutility.cpp:95,1
    - Dst: memcpy
      Src: /src/phosphor-host-ipmid/selutility.cpp:100,1
    - Dst: auto::data
      Src: /src/phosphor-host-ipmid/selutility.cpp:100,1
    - Dst: std::min
      Src: /src/phosphor-host-ipmid/selutility.cpp:101,1
    - Dst: auto::size
      Src: /src/phosphor-host-ipmid/selutility.cpp:101,1
    - Dst: static_cast<size_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:101,1
    - Dst: memcpy
      Src: /src/phosphor-host-ipmid/selutility.cpp:107,1
    - Dst: auto::data
      Src: /src/phosphor-host-ipmid/selutility.cpp:107,1
    - Dst: std::min
      Src: /src/phosphor-host-ipmid/selutility.cpp:108,1
    - Dst: auto::size
      Src: /src/phosphor-host-ipmid/selutility.cpp:108,1
    - Dst: static_cast<size_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:108,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - recordType
    - timestamp
    - ' data'
    - ' record'
    argTypes:
    - uint8_t
    - std::chrono::milliseconds
    - AdditionalData
    - GetSELEntryResponse
    assertStmts:
    - condition: (dataIter != data.end())
      pos:
        line_end: 89
        line_start: 89
        source_file: /src/phosphor-host-ipmid/selutility.cpp
    constantsTouched: []
    func_position:
      end: 110
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 110
    functionName: ipmi::sel::internal::constructOEMSEL
    functionSourceFile: /src/phosphor-host-ipmid/selutility.cpp
    functionUses: 7
    functionsReached:
    - static_cast<size_t>
    - std::min
    - ipmi::sel::internal::convertVec
    - std::chrono::duration_cast<std::chrono::seconds>
    - assert
    - memcpy
    - static_cast<uint32_t>
    - end
    - find
    - auto::size
    - auto::data
    linkageType: ''
    returnType: void
    signature: "void constructOEMSEL(uint8_t recordType, std::chrono::milliseconds
      timestamp,\n                     const AdditionalData& data, GetSELEntryResponse&
      record)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/selutility.cpp:118,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/selutility.cpp:119,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/selutility.cpp:127,1
    - Dst: assert
      Src: /src/phosphor-host-ipmid/selutility.cpp:128,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/selutility.cpp:128,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/selutility.cpp:130,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/selutility.cpp:132,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/selutility.cpp:138,1
    - Dst: assert
      Src: /src/phosphor-host-ipmid/selutility.cpp:139,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/selutility.cpp:139,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:140,1
    - Dst: ipmi::sel::internal::convert
      Src: /src/phosphor-host-ipmid/selutility.cpp:140,1
    - Dst: static_cast<uint32_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:146,1
    - Dst: std::chrono::duration_cast<std::chrono::seconds>
      Src: /src/phosphor-host-ipmid/selutility.cpp:147,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/selutility.cpp:148,1
    - Dst: assert
      Src: /src/phosphor-host-ipmid/selutility.cpp:149,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/selutility.cpp:149,1
    - Dst: static_cast<uint16_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:151,1
    - Dst: ipmi::sel::internal::convert
      Src: /src/phosphor-host-ipmid/selutility.cpp:151,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/selutility.cpp:153,1
    - Dst: assert
      Src: /src/phosphor-host-ipmid/selutility.cpp:154,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/selutility.cpp:154,1
    - Dst: ipmi::sel::internal::convertVec
      Src: /src/phosphor-host-ipmid/selutility.cpp:155,1
    - Dst: memcpy
      Src: /src/phosphor-host-ipmid/selutility.cpp:157,1
    - Dst: auto::data
      Src: /src/phosphor-host-ipmid/selutility.cpp:157,1
    - Dst: std::min
      Src: /src/phosphor-host-ipmid/selutility.cpp:158,1
    - Dst: auto::size
      Src: /src/phosphor-host-ipmid/selutility.cpp:158,1
    - Dst: static_cast<size_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 4
    argNames:
    - recordType
    - timestamp
    - ' data'
    - ' record'
    argTypes:
    - uint8_t
    - std::chrono::milliseconds
    - AdditionalData
    - GetSELEntryResponse
    assertStmts:
    - condition: (iter != data.end())
      pos:
        line_end: 138
        line_start: 138
        source_file: /src/phosphor-host-ipmid/selutility.cpp
    - condition: (iter != data.end())
      pos:
        line_end: 127
        line_start: 127
        source_file: /src/phosphor-host-ipmid/selutility.cpp
    - condition: (iter != data.end())
      pos:
        line_end: 148
        line_start: 148
        source_file: /src/phosphor-host-ipmid/selutility.cpp
    - condition: (iter != data.end())
      pos:
        line_end: 153
        line_start: 153
        source_file: /src/phosphor-host-ipmid/selutility.cpp
    constantsTouched: []
    func_position:
      end: 159
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 159
    functionName: ipmi::sel::internal::constructSEL
    functionSourceFile: /src/phosphor-host-ipmid/selutility.cpp
    functionUses: 7
    functionsReached:
    - static_cast<size_t>
    - ipmi::sel::internal::convert
    - std::min
    - ipmi::sel::internal::convertVec
    - elog<InternalFailure>
    - assert
    - std::chrono::duration_cast<std::chrono::seconds>
    - memcpy
    - static_cast<uint32_t>
    - static_cast<uint8_t>
    - end
    - find
    - auto::size
    - static_cast<uint16_t>
    - lg2::error
    - auto::data
    linkageType: ''
    returnType: void
    signature: "void constructSEL(uint8_t recordType, std::chrono::milliseconds timestamp,\n
      \                 const AdditionalData& data, const entryDataMap&,\n                  GetSELEntryResponse&
      record)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ipmid_get_sd_bus_connection
      Src: /src/phosphor-host-ipmid/selutility.cpp:167,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/selutility.cpp:168,1
    - Dst: sdbusplus::bus_t::new_method_call
      Src: /src/phosphor-host-ipmid/selutility.cpp:171,1
    - Dst: auto::c_str
      Src: /src/phosphor-host-ipmid/selutility.cpp:171,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/selutility.cpp:171,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/selutility.cpp:173,1
    - Dst: sdbusplus::bus_t::call
      Src: /src/phosphor-host-ipmid/selutility.cpp:178,1
    - Dst: auto::read
      Src: /src/phosphor-host-ipmid/selutility.cpp:179,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/selutility.cpp:183,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/selutility.cpp:185,1
    - Dst: entryDataMap::find
      Src: /src/phosphor-host-ipmid/selutility.cpp:190,1
    - Dst: entryDataMap::end
      Src: /src/phosphor-host-ipmid/selutility.cpp:191,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/selutility.cpp:193,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/selutility.cpp:194,1
    - Dst: entryDataMap::find
      Src: /src/phosphor-host-ipmid/selutility.cpp:199,1
    - Dst: entryDataMap::end
      Src: /src/phosphor-host-ipmid/selutility.cpp:200,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/selutility.cpp:202,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/selutility.cpp:203,1
    - Dst: std::get<uint64_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:206,1
    - Dst: static_cast<uint16_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:213,1
    - Dst: std::get<uint32_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:213,1
    - Dst: entryDataMap::find
      Src: /src/phosphor-host-ipmid/selutility.cpp:215,1
    - Dst: entryDataMap::end
      Src: /src/phosphor-host-ipmid/selutility.cpp:216,1
    - Dst: std::get<AdditionalData>
      Src: /src/phosphor-host-ipmid/selutility.cpp:220,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/selutility.cpp:221,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/selutility.cpp:222,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/selutility.cpp:231,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/selutility.cpp:233,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/selutility.cpp:234,1
    - Dst: std::get<AdditionalData>
      Src: /src/phosphor-host-ipmid/selutility.cpp:242,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:244,1
    - Dst: ipmi::sel::internal::convert
      Src: /src/phosphor-host-ipmid/selutility.cpp:244,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/selutility.cpp:244,1
    - Dst: ipmi::sel::internal::isRecordOEM
      Src: /src/phosphor-host-ipmid/selutility.cpp:245,1
    - Dst: ipmi::sel::internal::constructOEMSEL
      Src: /src/phosphor-host-ipmid/selutility.cpp:248,1
    - Dst: ipmi::sel::internal::constructSEL
      Src: /src/phosphor-host-ipmid/selutility.cpp:252,1
    - Dst: static_cast<uint32_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:258,1
    - Dst: std::chrono::duration_cast<std::chrono::seconds>
      Src: /src/phosphor-host-ipmid/selutility.cpp:259,1
    - Dst: entryDataMap::find
      Src: /src/phosphor-host-ipmid/selutility.cpp:271,1
    - Dst: entryDataMap::end
      Src: /src/phosphor-host-ipmid/selutility.cpp:272,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/selutility.cpp:274,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/selutility.cpp:275,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/selutility.cpp:279,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 53
    argCount: 2
    argNames:
    - ' objPath'
    - iter
    argTypes:
    - std::string
    - ipmi::sensor::InvObjectIDMap::const_iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 161
    functionDepth: 3
    functionLinenumber: 161
    functionLinenumberEnd: 291
    functionName: ipmi::sel::internal::prepareSELEntry
    functionSourceFile: /src/phosphor-host-ipmid/selutility.cpp
    functionUses: 3
    functionsReached:
    - auto::c_str
    - entryDataMap::find
    - ipmid_get_sd_bus_connection
    - std::get<uint64_t>
    - static_cast<uint32_t>
    - static_cast<uint8_t>
    - find
    - ipmi::sel::internal::isRecordOEM
    - std::get<uint32_t>
    - ipmi::sel::internal::constructSEL
    - sdbusplus::bus_t::call
    - c_str
    - entryDataMap::end
    - end
    - elog<InternalFailure>
    - std::chrono::duration_cast<std::chrono::seconds>
    - ipmi::sel::internal::constructOEMSEL
    - auto::append
    - ipmi::getService
    - sdbusplus::bus_t::new_method_call
    - lg2::error
    - ipmi::sel::internal::convert
    - std::get<bool>
    - std::get<AdditionalData>
    - auto::read
    - static_cast<uint16_t>
    linkageType: ''
    returnType: GetSELEntryResponse
    signature: "GetSELEntryResponse prepareSELEntry(\n    const std::string& objPath,\n
      \   ipmi::sensor::InvObjectIDMap::const_iterator iter)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ipmid_get_sd_bus_connection
      Src: /src/phosphor-host-ipmid/selutility.cpp:297,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/selutility.cpp:306,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/selutility.cpp:308,1
    - Dst: std::get<std::vector<ipmi::Association>>
      Src: /src/phosphor-host-ipmid/selutility.cpp:309,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/selutility.cpp:313,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/selutility.cpp:315,1
    - Dst: std::get<0>
      Src: /src/phosphor-host-ipmid/selutility.cpp:325,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/selutility.cpp:327,1
    - Dst: std::get<2>
      Src: /src/phosphor-host-ipmid/selutility.cpp:327,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/selutility.cpp:328,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/selutility.cpp:330,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/selutility.cpp:331,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/selutility.cpp:333,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/selutility.cpp:334,1
    - Dst: ipmi::sel::internal::prepareSELEntry
      Src: /src/phosphor-host-ipmid/selutility.cpp:338,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/selutility.cpp:344,1
    - Dst: ipmi::sel::internal::prepareSELEntry
      Src: /src/phosphor-host-ipmid/selutility.cpp:345,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - ' objPath'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 295
    functionDepth: 4
    functionLinenumber: 295
    functionLinenumberEnd: 346
    functionName: ipmi::sel::convertLogEntrytoSEL
    functionSourceFile: /src/phosphor-host-ipmid/selutility.cpp
    functionUses: 1
    functionsReached:
    - find
    - ipmi::getService
    - ipmid_get_sd_bus_connection
    - std::get<0>
    - ipmi::sel::internal::prepareSELEntry
    - std::get<2>
    - std::get<std::vector<ipmi::Association>>
    - end
    - elog<InternalFailure>
    - ipmi::getDbusProperty
    - lg2::error
    linkageType: ''
    returnType: GetSELEntryResponse
    signature: GetSELEntryResponse convertLogEntrytoSEL(const std::string& objPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmid_get_sd_bus_connection
      Src: /src/phosphor-host-ipmid/selutility.cpp:350,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/selutility.cpp:357,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/selutility.cpp:358,1
    - Dst: std::get<uint64_t>
      Src: /src/phosphor-host-ipmid/selutility.cpp:360,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/selutility.cpp:364,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/selutility.cpp:366,1
    - Dst: std::chrono::duration_cast<std::chrono::seconds>
      Src: /src/phosphor-host-ipmid/selutility.cpp:371,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' objPath'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 372
    functionName: ipmi::sel::getEntryTimeStamp
    functionSourceFile: /src/phosphor-host-ipmid/selutility.cpp
    functionUses: 1
    functionsReached:
    - ipmi::getService
    - ipmid_get_sd_bus_connection
    - std::chrono::duration_cast<std::chrono::seconds>
    - std::get<uint64_t>
    - elog<InternalFailure>
    - ipmi::getDbusProperty
    - lg2::error
    linkageType: ''
    returnType: std::chrono::seconds
    signature: std::chrono::seconds getEntryTimeStamp(const std::string& objPath)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmid_get_sd_bus_connection
      Src: /src/phosphor-host-ipmid/selutility.cpp:376,1
    - Dst: clear
      Src: /src/phosphor-host-ipmid/selutility.cpp:378,1
    - Dst: sdbusplus::bus_t::new_method_call
      Src: /src/phosphor-host-ipmid/selutility.cpp:380,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/selutility.cpp:384,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/selutility.cpp:385,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/selutility.cpp:386,1
    - Dst: ObjectPaths
      Src: /src/phosphor-host-ipmid/selutility.cpp:386,1
    - Dst: sdbusplus::bus_t::call
      Src: /src/phosphor-host-ipmid/selutility.cpp:390,1
    - Dst: auto::read
      Src: /src/phosphor-host-ipmid/selutility.cpp:391,1
    - Dst: strcmp
      Src: /src/phosphor-host-ipmid/selutility.cpp:395,1
    - Dst: name
      Src: /src/phosphor-host-ipmid/selutility.cpp:395,1
    - Dst: std::sort
      Src: /src/phosphor-host-ipmid/selutility.cpp:402,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/selutility.cpp:402,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/selutility.cpp:402,1
    - Dst: std::stoul
      Src: /src/phosphor-host-ipmid/selutility.cpp:407,1
    - Dst: fs::path::filename
      Src: /src/phosphor-host-ipmid/selutility.cpp:407,1
    - Dst: std::stoul
      Src: /src/phosphor-host-ipmid/selutility.cpp:408,1
    - Dst: fs::path::filename
      Src: /src/phosphor-host-ipmid/selutility.cpp:408,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - ' paths'
    argTypes:
    - ObjectPaths
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 412
    functionName: ipmi::sel::readLoggingObjectPaths
    functionSourceFile: /src/phosphor-host-ipmid/selutility.cpp
    functionUses: 1
    functionsReached:
    - fs::path::filename
    - strcmp
    - auto::append
    - ipmid_get_sd_bus_connection
    - sdbusplus::bus_t::call
    - std::sort
    - auto::read
    - end
    - name
    - sdbusplus::bus_t::new_method_call
    - ObjectPaths
    - begin
    - std::stoul
    - clear
    linkageType: ''
    returnType: void
    signature: void readLoggingObjectPaths(ObjectPaths& paths)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: init_priority
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:121,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:127,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:127,1
    - Dst: insert
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - id
    - ' service'
    argTypes:
    - uint8_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 133
    functionName: fillSensorIdServiceMap
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.cpp
    functionUses: 0
    functionsReached:
    - init_priority
    - insert
    - end
    - find
    linkageType: ''
    returnType: void
    signature: "void fillSensorIdServiceMap(const std::string&,\n                                   const
      std::string& /*intf*/, uint8_t id,\n                                   const
      std::string& service)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:138,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:138,1
    - Dst: ipmid_get_sd_bus_connection
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:144,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:145,1
    - Dst: insert
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ' obj'
    - ' intf'
    - id
    argTypes:
    - std::string
    - std::string
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 153
    functionName: fillSensorIdServiceMap
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.cpp
    functionUses: 0
    functionsReached:
    - insert
    - ipmi::getService
    - ipmid_get_sd_bus_connection
    - end
    - find
    linkageType: ''
    returnType: void
    signature: "void fillSensorIdServiceMap(const std::string& obj,\n                                   const
      std::string& intf, uint8_t id)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ipmid_get_sd_bus_connection
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:158,1
    - Dst: emplace
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:161,1
    - Dst: std::make_unique<sdbusplus::bus::match_t>
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:163,1
    - Dst: interfacesAdded
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:164,1
    - Dst: argNpath
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:164,1
    - Dst: second::propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:166,1
    - Dst: fillSensorIdServiceMap
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:167,1
    - Dst: emplace
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:168,1
    - Dst: std::make_unique<sdbusplus::bus::match_t>
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:170,1
    - Dst: interfacesRemoved
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:171,1
    - Dst: argNpath
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:171,1
    - Dst: reset
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:177,1
    - Dst: emplace
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:179,1
    - Dst: std::make_unique<sdbusplus::bus::match_t>
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:181,1
    - Dst: type::signal
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:183,1
    - Dst: path
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:183,1
    - Dst: member
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:184,1
    - Dst: interface
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:185,1
    - Dst: fillSensorIdServiceMap
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:187,1
    - Dst: second::propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:189,1
    - Dst: unpack
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:193,1
    - Dst: unpack
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:195,1
    - Dst: second::getFunc
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:197,1
    - Dst: reset
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:201,1
    - Dst: std::make_unique<sdbusplus::bus::match_t>
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:205,1
    - Dst: nameOwnerChanged
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:206,1
    - Dst: read
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:210,1
    - Dst: std::string::empty
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:212,1
    - Dst: std::string::empty
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:212,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:215,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:216,1
    - Dst: reset
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:223,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 227
    functionName: initSensorMatches
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.cpp
    functionUses: 0
    functionsReached:
    - argNpath
    - interfacesAdded
    - type::signal
    - second::getFunc
    - ipmid_get_sd_bus_connection
    - emplace
    - second::propertyInterfaces::begin
    - find
    - std::string::empty
    - reset
    - read
    - fillSensorIdServiceMap
    - member
    - end
    - nameOwnerChanged
    - interface
    - path
    - std::make_unique<sdbusplus::bus::match_t>
    - unpack
    - interfacesRemoved
    linkageType: ''
    returnType: void
    signature: void initSensorMatches()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:235,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:236,1
    - Dst: ipmid_get_sd_bus_connection
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:247,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:249,1
    - Dst: std::fprintf
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:253,1
    - Dst: sensorPath::c_str
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:254,1
    - Dst: std::string::c_str
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:254,1
    - Dst: strcpy
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:259,1
    - Dst: std::string::c_str
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:259,1
    - Dst: strcpy
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:260,1
    - Dst: sensorPath::c_str
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:260,1
    - Dst: strcpy
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:265,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:266,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:266,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - num
    - interface
    argTypes:
    - uint8_t
    - dbus_interface_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 270
    functionName: find_openbmc_path
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::getService
    - ipmid_get_sd_bus_connection
    - propertyInterfaces::begin
    - std::string::c_str
    - strcpy
    - c_str
    - end
    - find
    - sensorPath::c_str
    - std::fprintf
    linkageType: ''
    returnType: int
    signature: int find_openbmc_path(uint8_t num, dbus_interface_t* interface)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: find_openbmc_path
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:285,1
    - Dst: std::fprintf
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:289,1
    - Dst: sd_bus_message_new_method_call
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:293,1
    - Dst: std::fprintf
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:297,1
    - Dst: strerror
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:298,1
    - Dst: sd_bus_message_append
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:302,1
    - Dst: std::fprintf
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:305,1
    - Dst: strerror
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:306,1
    - Dst: sd_bus_call
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:310,1
    - Dst: std::fprintf
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:313,1
    - Dst: strerror
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:313,1
    - Dst: sd_bus_error_free
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:317,1
    - Dst: sd_bus_message_unref
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:318,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 3
    argNames:
    - number
    - method
    - value
    argTypes:
    - uint8_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 277
    functionDepth: 2
    functionLinenumber: 277
    functionLinenumberEnd: 321
    functionName: set_sensor_dbus_state_s
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.cpp
    functionUses: 3
    functionsReached:
    - sd_bus_error_free
    - strerror
    - sd_bus_call
    - sd_bus_message_new_method_call
    - sd_bus_message_unref
    - sd_bus_message_append
    - find_openbmc_path
    - std::fprintf
    linkageType: ''
    returnType: int
    signature: "int set_sensor_dbus_state_s(uint8_t number, const char* method,\n
      \                           const char* value)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: find_openbmc_path
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:330,1
    - Dst: std::fprintf
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:334,1
    - Dst: sd_bus_message_new_method_call
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:338,1
    - Dst: std::fprintf
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:342,1
    - Dst: strerror
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:343,1
    - Dst: sd_bus_message_append
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:347,1
    - Dst: std::fprintf
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:350,1
    - Dst: strerror
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:351,1
    - Dst: sd_bus_call
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:355,1
    - Dst: std::fprintf
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:358,1
    - Dst: strerror
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:358,1
    - Dst: sd_bus_error_free
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:362,1
    - Dst: sd_bus_message_unref
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:363,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 3
    argNames:
    - number
    - method
    - value
    argTypes:
    - uint8_t
    - char*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 322
    functionDepth: 2
    functionLinenumber: 322
    functionLinenumberEnd: 366
    functionName: set_sensor_dbus_state_y
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.cpp
    functionUses: 1
    functionsReached:
    - sd_bus_error_free
    - strerror
    - sd_bus_call
    - sd_bus_message_new_method_call
    - sd_bus_message_unref
    - sd_bus_message_append
    - find_openbmc_path
    - std::fprintf
    linkageType: ''
    returnType: int
    signature: "int set_sensor_dbus_state_y(uint8_t number, const char* method,\n
      \                           const uint8_t value)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:374,1
    - Dst: printf
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:383,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - p
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 386
    functionName: dbus_to_sensor_type
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.cpp
    functionUses: 0
    functionsReached:
    - printf
    - strcmp
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t dbus_to_sensor_type(char* p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:408,1
    - Dst: dbus_to_sensor_type
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:409,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - dbus_if
    argTypes:
    - dbus_interface_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 388
    functionDepth: 1
    functionLinenumber: 388
    functionLinenumberEnd: 413
    functionName: get_type_from_interface
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.cpp
    functionUses: 0
    functionsReached:
    - strrchr
    - dbus_to_sensor_type
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t get_type_from_interface(dbus_interface_t dbus_if)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find_openbmc_path
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:420,1
    - Dst: std::fprintf
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:423,1
    - Dst: get_type_from_interface
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:426,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - num
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 416
    functionDepth: 2
    functionLinenumber: 416
    functionLinenumberEnd: 427
    functionName: find_type_for_sensor_number
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.cpp
    functionUses: 1
    functionsReached:
    - get_type_from_interface
    - find_openbmc_path
    - std::fprintf
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t find_type_for_sensor_number(uint8_t num)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:443,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:444,1
    - Dst: ipmi::responseSensorInvalid
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:447,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:454,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - sensorNumber
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 438
    functionDepth: 1
    functionLinenumber: 438
    functionLinenumberEnd: 455
    functionName: ipmiGetSensorType
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::responseSensorInvalid
    - ipmi::responseSuccess
    - end
    - find
    linkageType: ''
    returnType: "ipmi::RspType<uint8_t, // sensorType\n              uint8_t  // eventType\n
      \             >"
    signature: "ipmi::RspType<uint8_t, // sensorType\n              uint8_t  // eventType\n
      \             > ipmiGetSensorType(uint8_t sensorNumber)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: count
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' interface'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 465
    functionName: isAnalogSensor
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.cpp
    functionUses: 0
    functionsReached:
    - count
    linkageType: ''
    returnType: bool
    signature: bool isAnalogSensor(const std::string& interface)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:491,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:496,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:512,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:513,1
    - Dst: updateSensorRecordFromSSRAESC
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:515,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:516,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:524,1
    - Dst: ipmi::responseIllegalCommand
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:527,1
    - Dst: auto::second::updateFunc
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:529,1
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:530,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:534,1
    - Dst: commit<InternalFailure>
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:536,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:537,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:541,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:542,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 10
    argNames:
    - sensorNumber
    - operation
    - reading
    - assertOffset0_7
    - assertOffset8_14
    - deassertOffset0_7
    - deassertOffset8_14
    - eventData1
    - eventData2
    - eventData3
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 485
    functionDepth: 3
    functionLinenumber: 485
    functionLinenumberEnd: 544
    functionName: ipmiSetSensorReading
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::responseSuccess
    - ipmi::responseUnspecifiedError
    - updateSensorRecordFromSSRAESC
    - auto::second::updateFunc
    - lg2::debug
    - ipmi::responseInvalidFieldRequest
    - ipmi::responseIllegalCommand
    - end
    - find
    - ipmi::response
    - lg2::error
    - commit<InternalFailure>
    linkageType: ''
    returnType: ipmi::RspType<>
    signature: "ipmi::RspType<> ipmiSetSensorReading(\n    uint8_t sensorNumber, uint8_t
      operation, uint8_t reading,\n    uint8_t assertOffset0_7, uint8_t assertOffset8_14,\n
      \   uint8_t deassertOffset0_7, uint8_t deassertOffset8_14, uint8_t eventData1,\n
      \   uint8_t eventData2, uint8_t eventData3)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:573,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:576,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:577,1
    - Dst: ipmi::responseSensorInvalid
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:579,1
    - Dst: ipmi::responseIllegalCommand
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:584,1
    - Dst: has_value
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:591,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:597,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:601,1
    - Dst: fillSensorIdServiceMap
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:603,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:604,1
    - Dst: ipmi::getAllDbusProperties
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:608,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:610,1
    - Dst: fprintf
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:613,1
    - Dst: sensorPath::c_str
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:614,1
    - Dst: boost::system::error_code::value
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:614,1
    - Dst: boost::system::error_code::message
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:615,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:625,1
    - Dst: getFunc
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:630,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:632,1
    - Dst: uint5_t
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:633,1
    - Dst: auto::second::getFunc
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:642,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:644,1
    - Dst: uint5_t
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:645,1
    - Dst: ipmi::responseResponseError
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:655,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:669,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 2
    argNames:
    - ' ctx'
    - sensorNum
    argTypes:
    - ipmi::Context::ptr
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 558
    functionDepth: 1
    functionLinenumber: 558
    functionLinenumberEnd: 673
    functionName: ipmiSensorGetSensorReading
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.cpp
    functionUses: 0
    functionsReached:
    - uint5_t
    - ipmi::responseSuccess
    - ipmi::responseUnspecifiedError
    - find
    - ipmi::responseResponseError
    - ipmi::getAllDbusProperties
    - fillSensorIdServiceMap
    - end
    - boost::system::error_code::value
    - sensorPath::c_str
    - fprintf
    - ipmi::getService
    - boost::system::error_code::message
    - ipmi::responseIllegalCommand
    - ipmi::responseInvalidFieldRequest
    - has_value
    - propertyInterfaces::begin
    - ipmi::responseSensorInvalid
    - getFunc
    - auto::second::getFunc
    linkageType: ''
    returnType: "ipmi::RspType<uint8_t, // sensor reading\n\n              uint5_t,
      // reserved\n              bool,    // reading state\n              bool,    //
      0 = sensor scanning state disabled\n              bool,    // 0 = all event
      messages disabled\n\n              uint8_t, // threshold levels states\n              uint8_t
      \ // discrete reading sensor states\n              >"
    signature: "ipmi::RspType<uint8_t, // sensor reading\n\n              uint5_t,
      // reserved\n              bool,    // reading state\n              bool,    //
      0 = sensor scanning state disabled\n              bool,    // 0 = all event
      messages disabled\n\n              uint8_t, // threshold levels states\n              uint8_t
      \ // discrete reading sensor states\n              > ipmiSensorGetSensorReading([[maybe_unused]]
      ipmi::Context::ptr& ctx,\n                               uint8_t sensorNum)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:669,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - std::exception
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 658
    functionDepth: 1
    functionLinenumber: 658
    functionLinenumberEnd: 672
    functionName: catch
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::responseSuccess
    linkageType: ''
    returnType: void
    signature: void catch (const std::exception& e)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:682,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:688,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - lowerValue
    - upperValue
    - ' resp'
    argTypes:
    - uint8_t
    - uint8_t
    - get_sdr::GetSensorThresholdsResponse
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 691
    functionName: updateWarningThreshold
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: "void updateWarningThreshold(uint8_t lowerValue, uint8_t upperValue,\n
      \                           get_sdr::GetSensorThresholdsResponse& resp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:700,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:706,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - lowerValue
    - upperValue
    - ' resp'
    argTypes:
    - uint8_t
    - uint8_t
    - get_sdr::GetSensorThresholdsResponse
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 693
    functionDepth: 0
    functionLinenumber: 693
    functionLinenumberEnd: 709
    functionName: updateCriticalThreshold
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: "void updateCriticalThreshold(uint8_t lowerValue, uint8_t upperValue,\n
      \                            get_sdr::GetSensorThresholdsResponse& resp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:718,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:724,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - lowerValue
    - upperValue
    - ' resp'
    argTypes:
    - uint8_t
    - uint8_t
    - get_sdr::GetSensorThresholdsResponse
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 727
    functionName: updateNonRecoverableThreshold
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: "void updateNonRecoverableThreshold(uint8_t lowerValue, uint8_t upperValue,\n
      \                                  get_sdr::GetSensorThresholdsResponse& resp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::numeric_limits<uint8_t>::lowest
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:731,1
    - Dst: std::numeric_limits<uint8_t>::max
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:732,1
    - Dst: std::numeric_limits<int8_t>::lowest
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:737,1
    - Dst: std::numeric_limits<int8_t>::max
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:738,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - sensorUnits1
    - ' minClamp'
    - ' maxClamp'
    argTypes:
    - uint8_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 740
    functionName: getClamp
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.cpp
    functionUses: 0
    functionsReached:
    - std::numeric_limits<uint8_t>::max
    - std::numeric_limits<int8_t>::max
    - std::numeric_limits<uint8_t>::lowest
    - std::numeric_limits<int8_t>::lowest
    linkageType: ''
    returnType: void
    signature: void getClamp(uint8_t sensorUnits1, int32_t& minClamp, int32_t& maxClamp)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::mappedVariant<double>
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:750,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:751,1
    - Dst: ipmi::mappedVariant<double>
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:752,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:753,1
    - Dst: std::isfinite
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:757,1
    - Dst: std::pow
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:759,1
    - Dst: round
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:761,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:763,1
    - Dst: std::clamp
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:763,1
    - Dst: std::isfinite
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:766,1
    - Dst: std::pow
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:768,1
    - Dst: round
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:770,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:772,1
    - Dst: std::clamp
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:772,1
    - Dst: updateWarningThreshold
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:777,1
    - Dst: updateCriticalThreshold
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:781,1
    - Dst: updateNonRecoverableThreshold
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:785,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 6
    argNames:
    - ' info'
    - ' thresholds'
    - ' thresholdName'
    - minClamp
    - maxClamp
    - ' resp'
    argTypes:
    - ipmi::sensor::Info
    - ipmi::PropertyMap
    - std::string
    - int32_t
    - int32_t
    - get_sdr::GetSensorThresholdsResponse
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 742
    functionDepth: 1
    functionLinenumber: 742
    functionLinenumberEnd: 787
    functionName: updateThresholds
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::mappedVariant<double>
    - updateCriticalThreshold
    - updateNonRecoverableThreshold
    - std::numeric_limits<double>::quiet_NaN
    - std::pow
    - round
    - static_cast<uint8_t>
    - std::clamp
    - std::isfinite
    - updateWarningThreshold
    linkageType: ''
    returnType: void
    signature: "void updateThresholds(\n    const ipmi::sensor::Info& info, const
      ipmi::PropertyMap& thresholds,\n    const std::string& thresholdName, int32_t
      minClamp, int32_t maxClamp,\n    get_sdr::GetSensorThresholdsResponse& resp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:793,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:798,1
    - Dst: getClamp
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:806,1
    - Dst: ipmi::getAllDbusProperties
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:814,1
    - Dst: updateThresholds
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:821,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - ' ctx'
    - sensorNum
    argTypes:
    - ipmi::Context::ptr
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 789
    functionDepth: 2
    functionLinenumber: 789
    functionLinenumberEnd: 826
    functionName: getSensorThresholds
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::getService
    - ipmi::getAllDbusProperties
    - getClamp
    - updateThresholds
    - find
    linkageType: ''
    returnType: get_sdr::GetSensorThresholdsResponse
    signature: "get_sdr::GetSensorThresholdsResponse getSensorThresholds(\n    ipmi::Context::ptr&
      ctx, uint8_t sensorNum)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:851,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:852,1
    - Dst: ipmi::responseSensorInvalid
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:854,1
    - Dst: auto::propertyInterfaces::find
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:860,1
    - Dst: auto::propertyInterfaces::end
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:861,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:864,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:867,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:868,1
    - Dst: getSensorThresholds
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:870,1
    - Dst: ipmi::responseSensorInvalid
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:873,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:875,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:880,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ' ctx'
    - sensorNum
    argTypes:
    - ipmi::Context::ptr
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 841
    functionDepth: 3
    functionLinenumber: 841
    functionLinenumberEnd: 884
    functionName: ipmiSensorGetSensorThresholds
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.cpp
    functionUses: 0
    functionsReached:
    - auto::propertyInterfaces::end
    - getSensorThresholds
    - ipmi::responseSuccess
    - auto::propertyInterfaces::find
    - ipmi::responseSensorInvalid
    - end
    - find
    - std::move
    linkageType: ''
    returnType: "ipmi::RspType<uint8_t, // validMask\n              uint8_t, // lowerNonCritical\n
      \             uint8_t, // lowerCritical\n              uint8_t, // lowerNonRecoverable\n
      \             uint8_t, // upperNonCritical\n              uint8_t, // upperCritical\n
      \             uint8_t  // upperNonRecoverable\n              >"
    signature: "ipmi::RspType<uint8_t, // validMask\n              uint8_t, // lowerNonCritical\n
      \             uint8_t, // lowerCritical\n              uint8_t, // lowerNonRecoverable\n
      \             uint8_t, // upperNonCritical\n              uint8_t, // upperCritical\n
      \             uint8_t  // upperNonRecoverable\n              > ipmiSensorGetSensorThresholds(ipmi::Context::ptr&
      ctx, uint8_t sensorNum)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:914,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:920,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:928,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:931,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:932,1
    - Dst: ipmi::responseSensorInvalid
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:934,1
    - Dst: propertyInterfaces::find
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:940,1
    - Dst: propertyInterfaces::end
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:941,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:944,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:949,1
    - Dst: ipmi::responseResponseError
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:952,1
    - Dst: ipmi::getAllDbusProperties
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:965,1
    - Dst: ipmi::PropertyMap::find
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:973,1
    - Dst: ipmi::PropertyMap::end
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:975,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:977,1
    - Dst: std::vector::emplace_back
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:979,1
    - Dst: ipmi::PropertyMap::find
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:985,1
    - Dst: ipmi::PropertyMap::end
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:987,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:989,1
    - Dst: std::vector::emplace_back
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:991,1
    - Dst: ipmi::getAllDbusProperties
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1000,1
    - Dst: ipmi::PropertyMap::find
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1008,1
    - Dst: ipmi::PropertyMap::end
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1010,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1012,1
    - Dst: std::vector::emplace_back
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1014,1
    - Dst: ipmi::PropertyMap::find
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1020,1
    - Dst: ipmi::PropertyMap::end
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1022,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1024,1
    - Dst: std::vector::emplace_back
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1026,1
    - Dst: std::get<thresholdValue>
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1036,1
    - Dst: std::pow
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1037,1
    - Dst: std::pow
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1038,1
    - Dst: ipmi::setDbusProperty
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1039,1
    - Dst: std::get<interface>
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1040,1
    - Dst: std::get<propertyName>
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1041,1
    - Dst: testValue
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1041,1
    - Dst: erase
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1045,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1046,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 58
    argCount: 13
    argNames:
    - ' ctx'
    - sensorNum
    - lowerNonCriticalThreshMask
    - lowerCriticalThreshMask
    - lowerNonRecovThreshMask
    - upperNonCriticalThreshMask
    - upperCriticalThreshMask
    - upperNonRecovThreshMask
    - reserved
    - lowerNonCritical
    - lowerCritical
    - upperNonCritical
    - upperCritical
    argTypes:
    - ipmi::Context::ptr
    - uint8_t
    - bool
    - bool
    - bool
    - bool
    - bool
    - bool
    - uint2_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1047
      start: 904
    functionDepth: 1
    functionLinenumber: 904
    functionLinenumberEnd: 1047
    functionName: ipmiSenSetSensorThresholds
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::responseSuccess
    - erase
    - find
    - std::vector::emplace_back
    - ipmi::responseResponseError
    - std::get<interface>
    - ipmi::getAllDbusProperties
    - propertyInterfaces::find
    - end
    - ipmi::PropertyMap::find
    - ipmi::setDbusProperty
    - ipmi::PropertyMap::end
    - ipmi::getService
    - propertyInterfaces::end
    - std::pow
    - ipmi::responseInvalidFieldRequest
    - std::get<thresholdValue>
    - std::get<propertyName>
    - ipmi::responseSensorInvalid
    - testValue
    linkageType: ''
    returnType: ipmi::RspType<>
    signature: "ipmi::RspType<> ipmiSenSetSensorThresholds(\n    ipmi::Context::ptr&
      ctx, uint8_t sensorNum, bool lowerNonCriticalThreshMask,\n    bool lowerCriticalThreshMask,
      bool lowerNonRecovThreshMask,\n    bool upperNonCriticalThreshMask, bool upperCriticalThreshMask,\n
      \   bool upperNonRecovThreshMask, uint2_t reserved, uint8_t lowerNonCritical,\n
      \   uint8_t lowerCritical, uint8_t, uint8_t upperNonCritical,\n    uint8_t upperCritical,
      uint8_t)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::optional<uint8_t>::value_or
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1067,1
    - Dst: ipmi::sensor::EntityInfoMapContainer::getContainer
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1071,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1073,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1073,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1074,1
    - Dst: std::optional<uint8_t>::value_or
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1076,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1079,1
    - Dst: ipmi::responseInvalidCommandOnLun
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1083,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1086,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - count
    argTypes:
    - std::optional<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1087
      start: 1056
    functionDepth: 1
    functionLinenumber: 1056
    functionLinenumberEnd: 1087
    functionName: ipmiSensorGetDeviceSdrInfo
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::responseSuccess
    - size
    - ipmi::sensor::EntityInfoMapContainer::getContainer
    - std::optional<uint8_t>::value_or
    - ipmi::responseInvalidCommandOnLun
    linkageType: ''
    returnType: "ipmi::RspType<uint8_t, // respcount\n              uint8_t  // dynamic
      population flags\n              >"
    signature: "ipmi::RspType<uint8_t, // respcount\n              uint8_t  // dynamic
      population flags\n              > ipmiSensorGetDeviceSdrInfo(std::optional<uint8_t>
      count)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1098,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1099
      start: 1093
    functionDepth: 1
    functionLinenumber: 1093
    functionLinenumberEnd: 1099
    functionName: ipmiSensorReserveSdr
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::responseSuccess
    linkageType: ''
    returnType: ipmi::RspType<uint16_t>
    signature: ipmi::RspType<uint16_t> ipmiSensorReserveSdr()
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: server::Value::convertUnitFromString
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1109,1
    - Dst: get_sdr::body::setPercentage
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1136,1
    - Dst: std::fprintf
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1140,1
    - Dst: unit::c_str
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1141,1
    - Dst: lg2::warning
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1146,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 2
    argNames:
    - ' info'
    - ' body'
    argTypes:
    - ipmi::sensor::Info
    - get_sdr::SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1148
      start: 1101
    functionDepth: 1
    functionLinenumber: 1101
    functionLinenumberEnd: 1148
    functionName: setUnitFieldsForObject
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.cpp
    functionUses: 0
    functionsReached:
    - lg2::warning
    - get_sdr::body::setPercentage
    - unit::c_str
    - server::Value::convertUnitFromString
    - std::fprintf
    linkageType: ''
    returnType: void
    signature: "void setUnitFieldsForObject(const ipmi::sensor::Info& info,\n                            get_sdr::SensorDataFullRecordBody&
      body)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isAnalogSensor
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1154,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1154,1
    - Dst: setUnitFieldsForObject
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1157,1
    - Dst: get_sdr::body::setB
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1159,1
    - Dst: get_sdr::body::setM
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1160,1
    - Dst: get_sdr::body::setBexp
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1161,1
    - Dst: get_sdr::body::setRexp
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1162,1
    - Dst: auto::empty
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1168,1
    - Dst: sensorNameFunc
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1170,1
    - Dst: auto::length
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1173,1
    - Dst: get_sdr::body::setIdStrLen
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1175,1
    - Dst: get_sdr::body::setIdStrLen
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1179,1
    - Dst: auto::length
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1179,1
    - Dst: get_sdr::body::setIdType
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1181,1
    - Dst: strncpy
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1182,1
    - Dst: auto::c_str
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1182,1
    - Dst: get_sdr::body::getIdStrLen
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1182,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - ' info'
    - ' body'
    argTypes:
    - ipmi::sensor::Info
    - get_sdr::SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1185
      start: 1150
    functionDepth: 2
    functionLinenumber: 1150
    functionLinenumberEnd: 1185
    functionName: populateRecordFromDbus
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.cpp
    functionUses: 0
    functionsReached:
    - auto::length
    - get_sdr::body::getIdStrLen
    - isAnalogSensor
    - get_sdr::body::setIdStrLen
    - get_sdr::body::setIdType
    - get_sdr::body::setBexp
    - get_sdr::body::setB
    - setUnitFieldsForObject
    - propertyInterfaces::begin
    - sensorNameFunc
    - strncpy
    - auto::c_str
    - auto::empty
    - get_sdr::body::setM
    - get_sdr::body::setRexp
    linkageType: ''
    returnType: ipmi::Cc
    signature: "ipmi::Cc populateRecordFromDbus(const ipmi::sensor::Info& info,\n
      \                               get_sdr::SensorDataFullRecordBody& body)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1192,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1196,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1197,1
    - Dst: ipmi::responseSensorInvalid
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1199,1
    - Dst: path::substr
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1222,1
    - Dst: path::find_last_of
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1222,1
    - Dst: path::length
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1223,1
    - Dst: auto::length
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1225,1
    - Dst: get_sdr::body::setDeviceIdStrLen
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1227,1
    - Dst: get_sdr::body::setDeviceIdStrLen
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1232,1
    - Dst: auto::length
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1232,1
    - Dst: strncpy
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1236,1
    - Dst: auto::c_str
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1236,1
    - Dst: get_sdr::body::getDeviceIdStrLen
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1237,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1239,1
    - Dst: ipmi::sensor::EntityInfoMapContainer::getContainer
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1244,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1247,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1248,1
    - Dst: ipmi::responseParmOutOfRange
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1259,1
    - Dst: std::min
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1263,1
    - Dst: static_cast<size_t>
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1263,1
    - Dst: std::memcpy
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1266,1
    - Dst: std::vector::data
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1266,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1267,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1269,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 3
    argNames:
    - recordID
    - offset
    - bytesToRead
    argTypes:
    - uint16_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1270
      start: 1187
    functionDepth: 1
    functionLinenumber: 1187
    functionLinenumberEnd: 1270
    functionName: ipmiFruGetSdr
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.cpp
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - reinterpret_cast<const uint8_t*>
    - ipmi::responseSuccess
    - auto::c_str
    - path::find_last_of
    - ipmi::responseParmOutOfRange
    - get_sdr::body::getDeviceIdStrLen
    - begin
    - find
    - path::length
    - get_sdr::body::setDeviceIdStrLen
    - strncpy
    - std::min
    - path::substr
    - end
    - std::memcpy
    - auto::length
    - size
    - ipmi::sensor::EntityInfoMapContainer::getContainer
    - ipmi::responseSensorInvalid
    - std::vector::data
    linkageType: ''
    returnType: "ipmi::RspType<uint16_t,            // nextRecordId\n              std::vector<uint8_t>
      // recordData\n              >"
    signature: "ipmi::RspType<uint16_t,            // nextRecordId\n              std::vector<uint8_t>
      // recordData\n              > ipmiFruGetSdr(uint16_t recordID, uint8_t offset,
      uint8_t bytesToRead)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::EntityInfoMapContainer::getContainer
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1278,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1280,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1284,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1285,1
    - Dst: ipmi::responseSensorInvalid
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1287,1
    - Dst: get_sdr::key::setFlags
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1300,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1314,1
    - Dst: ipmi::responseParmOutOfRange
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1326,1
    - Dst: std::min
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1330,1
    - Dst: static_cast<size_t>
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1330,1
    - Dst: std::memcpy
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1333,1
    - Dst: std::vector::data
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1333,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1334,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1336,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 31
    argCount: 3
    argNames:
    - recordID
    - offset
    - bytesToRead
    argTypes:
    - uint16_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1337
      start: 1272
    functionDepth: 1
    functionLinenumber: 1272
    functionLinenumberEnd: 1337
    functionName: ipmiEntityGetSdr
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.cpp
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - reinterpret_cast<const uint8_t*>
    - ipmi::responseSuccess
    - ipmi::responseParmOutOfRange
    - std::min
    - get_sdr::key::setFlags
    - ipmi::sensor::EntityInfoMapContainer::getContainer
    - ipmi::responseSensorInvalid
    - end
    - find
    - begin
    - std::vector::data
    - std::memcpy
    linkageType: ''
    returnType: "ipmi::RspType<uint16_t,            // nextRecordId\n              std::vector<uint8_t>
      // recordData\n              >"
    signature: "ipmi::RspType<uint16_t,            // nextRecordId\n              std::vector<uint8_t>
      // recordData\n              > ipmiEntityGetSdr(uint16_t recordID, uint8_t offset,
      uint8_t bytesToRead)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1347,1
    - Dst: ipmiEntityGetSdr
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1359,1
    - Dst: ipmiFruGetSdr
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1364,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1368,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1369,1
    - Dst: ipmi::responseSensorInvalid
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1371,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1378,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1379,1
    - Dst: get_sdr::key::setOwnerIdBmc
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1389,1
    - Dst: get_sdr::body::initSettableState
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1400,1
    - Dst: populateRecordFromDbus
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1404,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1405,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1411,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1415,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1415,1
    - Dst: ipmi::responseParmOutOfRange
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1425,1
    - Dst: std::min
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1429,1
    - Dst: static_cast<size_t>
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1429,1
    - Dst: std::memcpy
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1432,1
    - Dst: std::vector::data
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1432,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1433,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1435,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 41
    argCount: 3
    argNames:
    - recordID
    - offset
    - bytesToRead
    argTypes:
    - uint16_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1436
      start: 1339
    functionDepth: 3
    functionLinenumber: 1339
    functionLinenumberEnd: 1436
    functionName: ipmiSensorGetSdr
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.cpp
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - populateRecordFromDbus
    - reinterpret_cast<const uint8_t*>
    - ipmiFruGetSdr
    - ipmi::responseSuccess
    - ipmi::responseParmOutOfRange
    - std::min
    - size
    - get_sdr::body::initSettableState
    - get_sdr::key::setOwnerIdBmc
    - end
    - begin
    - find
    - ipmi::responseSensorInvalid
    - std::move
    - ipmiEntityGetSdr
    - std::vector::data
    - std::memcpy
    linkageType: ''
    returnType: "ipmi::RspType<uint16_t,            // nextRecordId\n              std::vector<uint8_t>
      // recordData\n              >"
    signature: "ipmi::RspType<uint16_t,            // nextRecordId\n              std::vector<uint8_t>
      // recordData\n              > ipmiSensorGetSdr(uint16_t /* reservationId */,
      uint16_t recordID,\n                     uint8_t offset, uint8_t bytesToRead)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1457,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1458,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1460,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1464,1
    - Dst: ipmi::responseSensorInvalid
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1468,1
    - Dst: ipmi::responseSensorInvalid
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1474,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1478,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1479,1
    - Dst: getSensorThresholds
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1481,1
    - Dst: ipmi::responseSensorInvalid
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1484,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1486,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1499,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 2
    argNames:
    - ctx
    - sensorNum
    argTypes:
    - ipmi::Context::ptr
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1520
      start: 1448
    functionDepth: 3
    functionLinenumber: 1448
    functionLinenumberEnd: 1520
    functionName: ipmiSenGetSensorEventEnable
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.cpp
    functionUses: 0
    functionsReached:
    - getSensorThresholds
    - ipmi::responseSuccess
    - ipmi::responseInvalidFieldRequest
    - static_cast<uint8_t>
    - ipmi::responseSensorInvalid
    - end
    - find
    - std::move
    linkageType: ''
    returnType: "ipmi::RspType<\n    uint6_t, bool, bool, // Byte 1: Global enable
      + scanning + reserved6\n    bool, bool, bool, bool, bool, bool, bool, bool,
      // Byte 2: Assertion LSB\n    bool, bool, bool, bool, bool, bool, bool, bool,
      // Byte 3: Assertion MSB\n    bool, bool, bool, bool, bool, bool, bool, bool,
      // Byte 4: Deassertion LSB\n    bool, bool, bool, bool, bool, bool, bool, bool
      \ // Byte 4: Deassertion MSB\n    >"
    signature: "ipmi::RspType<\n    uint6_t, bool, bool, // Byte 1: Global enable
      + scanning + reserved6\n    bool, bool, bool, bool, bool, bool, bool, bool,
      // Byte 2: Assertion LSB\n    bool, bool, bool, bool, bool, bool, bool, bool,
      // Byte 3: Assertion MSB\n    bool, bool, bool, bool, bool, bool, bool, bool,
      // Byte 4: Deassertion LSB\n    bool, bool, bool, bool, bool, bool, bool, bool
      \ // Byte 4: Deassertion MSB\n    > ipmiSenGetSensorEventEnable(ipmi::Context::ptr
      ctx, uint8_t sensorNum)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1528
      start: 1522
    functionDepth: 0
    functionLinenumber: 1522
    functionLinenumberEnd: 1528
    functionName: isFromSystemChannel
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isFromSystemChannel()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1533,1
    - Dst: ipmi::responseReqDataLenInvalid
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1537,1
    - Dst: data
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1542,1
    - Dst: isFromSystemChannel
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1544,1
    - Dst: reinterpret_cast<const PlatformEventRequest*>
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1548,1
    - Dst: reinterpret_cast<const PlatformEventRequest*>
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1557,1
    - Dst: ipmi::responseReqDataLenInvalid
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1569,1
    - Dst: ipmi::callDbusMethod
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1589,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1594,1
    - Dst: auto::message
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1594,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1595,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1598,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 2
    argNames:
    - ' ctx'
    - ' data'
    argTypes:
    - ipmi::Context::ptr
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1599
      start: 1530
    functionDepth: 1
    functionLinenumber: 1530
    functionLinenumberEnd: 1599
    functionName: ipmicmdPlatformEvent
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const PlatformEventRequest*>
    - ipmi::responseSuccess
    - ipmi::responseUnspecifiedError
    - size
    - ipmi::callDbusMethod
    - auto::message
    - ipmi::responseReqDataLenInvalid
    - data
    - isFromSystemChannel
    - lg2::error
    linkageType: ''
    returnType: ipmi::RspType<>
    signature: "ipmi::RspType<> ipmicmdPlatformEvent(ipmi::Context::ptr& ctx,\n                                     const
      std::vector<uint8_t>& data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: initSensorMatches
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1610,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1614,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1618,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1623,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1628,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1633,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1638,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1643,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1648,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1657,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/sensorhandler.cpp:1662,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1667
      start: 1601
    functionDepth: 2
    functionLinenumber: 1601
    functionLinenumberEnd: 1667
    functionName: registerNetFnSenFunctions
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::registerHandler
    - initSensorMatches
    linkageType: ''
    returnType: void
    signature: void registerNetFnSenFunctions()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:72,1
    - Dst: emplace_back
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:75,1
    - Dst: emplace_back
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - langCode
    - ' data'
    argTypes:
    - bool
    - FruAreaData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 81
    functionName: ipmi::fru::preFormatProcessing
    functionSourceFile: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp
    functionUses: 0
    functionsReached:
    - emplace_back
    linkageType: ''
    returnType: void
    signature: void preFormatProcessing(bool langCode, FruAreaData& data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::accumulate
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:90,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:90,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:90,1
    - Dst: emplace_back
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - FruAreaData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 94
    functionName: ipmi::fru::appendDataChecksum
    functionSourceFile: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp
    functionUses: 0
    functionsReached:
    - std::accumulate
    - emplace_back
    - end
    - begin
    linkageType: ''
    returnType: void
    signature: void appendDataChecksum(FruAreaData& data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:103,1
    - Dst: resize
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:106,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - FruAreaData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 108
    functionName: ipmi::fru::padData
    functionSourceFile: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp
    functionUses: 0
    functionsReached:
    - size
    - resize
    linkageType: ''
    returnType: void
    signature: void padData(FruAreaData& data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::fru::padData
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:118,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:121,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:122,1
    - Dst: ipmi::fru::appendDataChecksum
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - FruAreaData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 126
    functionName: ipmi::fru::postFormatProcessing
    functionSourceFile: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp
    functionUses: 0
    functionsReached:
    - ipmi::fru::appendDataChecksum
    - size
    - at
    - ipmi::fru::padData
    linkageType: ''
    returnType: void
    signature: void postFormatProcessing(FruAreaData& data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:138,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:139,1
    - Dst: ipmi::tryParse
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:142,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:144,1
    - Dst: emplace_back
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:149,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' propMap'
    - ' data'
    argTypes:
    - PropertyMap
    - FruAreaData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 150
    functionName: ipmi::fru::appendChassisType
    functionSourceFile: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp
    functionUses: 0
    functionsReached:
    - emplace_back
    - ipmi::tryParse
    - end
    - find
    - lg2::error
    linkageType: ''
    returnType: void
    signature: void appendChassisType(const PropertyMap& propMap, FruAreaData& data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:162,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:163,1
    - Dst: auto::compare
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:168,1
    - Dst: auto::compare
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:169,1
    - Dst: auto::erase
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:171,1
    - Dst: auto::length
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:177,1
    - Dst: auto::length
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:179,1
    - Dst: emplace_back
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:184,1
    - Dst: std::copy
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:185,1
    - Dst: auto::begin
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:185,1
    - Dst: auto::begin
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:185,1
    - Dst: std::back_inserter
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:186,1
    - Dst: emplace_back
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:191,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - ' key'
    - ' propMap'
    - ' data'
    argTypes:
    - Property
    - PropertyMap
    - FruAreaData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 193
    functionName: ipmi::fru::appendData
    functionSourceFile: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp
    functionUses: 0
    functionsReached:
    - auto::length
    - auto::erase
    - auto::compare
    - emplace_back
    - std::back_inserter
    - end
    - std::copy
    - find
    - auto::begin
    linkageType: ''
    returnType: void
    signature: "void appendData(const Property& key, const PropertyMap& propMap,\n
      \               FruAreaData& data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::get_time
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:208,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:208,1
    - Dst: std::istringstream::fail
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:209,1
    - Dst: timegm
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:215,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 216
    functionName: ipmi::fru::timeStringToRaw
    functionSourceFile: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp
    functionUses: 0
    functionsReached:
    - c_str
    - std::get_time
    - timegm
    - std::istringstream::fail
    linkageType: ''
    returnType: std::time_t
    signature: std::time_t timeStringToRaw(const std::string& input)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:227,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:228,1
    - Dst: auto::second::size
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:228,1
    - Dst: ipmi::fru::timeStringToRaw
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:230,1
    - Dst: std::copy
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:245,1
    - Dst: std::back_inserter
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:245,1
    - Dst: std::fprintf
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:248,1
    - Dst: static_cast<unsigned int>
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:249,1
    - Dst: emplace_back
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:252,1
    - Dst: emplace_back
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:253,1
    - Dst: emplace_back
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:254,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - ' propMap'
    - ' data'
    argTypes:
    - PropertyMap
    - FruAreaData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 255
    functionName: ipmi::fru::appendMfgDate
    functionSourceFile: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp
    functionUses: 0
    functionsReached:
    - static_cast<unsigned int>
    - auto::second::size
    - std::fprintf
    - emplace_back
    - std::back_inserter
    - std::copy
    - end
    - find
    - ipmi::fru::timeStringToRaw
    linkageType: ''
    returnType: void
    signature: void appendMfgDate(const PropertyMap& propMap, FruAreaData& data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:271,1
    - Dst: emplace_back
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ' infoAreaSize'
    - ' offset'
    - ' data'
    argTypes:
    - uint32_t
    - uint16_t
    - FruAreaData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 285
    functionName: ipmi::fru::buildCommonHeaderSection
    functionSourceFile: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp
    functionUses: 0
    functionsReached:
    - emplace_back
    linkageType: ''
    returnType: void
    signature: "void buildCommonHeaderSection(const uint32_t& infoAreaSize, uint16_t&
      offset,\n                              FruAreaData& data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:296,1
    - Dst: ipmi::fru::preFormatProcessing
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:299,1
    - Dst: ipmi::fru::appendChassisType
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:302,1
    - Dst: ipmi::fru::appendData
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:305,1
    - Dst: ipmi::fru::appendData
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:308,1
    - Dst: FruAreaData::emplace_back
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:311,1
    - Dst: ipmi::fru::postFormatProcessing
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:314,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' propMap'
    argTypes:
    - PropertyMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 293
    functionDepth: 2
    functionLinenumber: 293
    functionLinenumberEnd: 317
    functionName: ipmi::fru::buildChassisInfoArea
    functionSourceFile: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp
    functionUses: 0
    functionsReached:
    - ipmi::fru::appendData
    - ipmi::fru::appendChassisType
    - ipmi::fru::preFormatProcessing
    - FruAreaData::emplace_back
    - empty
    - ipmi::fru::postFormatProcessing
    linkageType: ''
    returnType: FruAreaData
    signature: FruAreaData buildChassisInfoArea(const PropertyMap& propMap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:328,1
    - Dst: ipmi::fru::preFormatProcessing
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:330,1
    - Dst: ipmi::fru::appendMfgDate
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:333,1
    - Dst: ipmi::fru::appendData
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:336,1
    - Dst: ipmi::fru::appendData
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:339,1
    - Dst: ipmi::fru::appendData
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:342,1
    - Dst: ipmi::fru::appendData
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:345,1
    - Dst: FruAreaData::emplace_back
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:348,1
    - Dst: FruAreaData::emplace_back
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:351,1
    - Dst: FruAreaData::emplace_back
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:354,1
    - Dst: ipmi::fru::postFormatProcessing
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:356,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - ' propMap'
    argTypes:
    - PropertyMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 325
    functionDepth: 2
    functionLinenumber: 325
    functionLinenumberEnd: 359
    functionName: ipmi::fru::buildBoardInfoArea
    functionSourceFile: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp
    functionUses: 0
    functionsReached:
    - ipmi::fru::appendData
    - ipmi::fru::preFormatProcessing
    - ipmi::fru::appendMfgDate
    - FruAreaData::emplace_back
    - empty
    - ipmi::fru::postFormatProcessing
    linkageType: ''
    returnType: FruAreaData
    signature: FruAreaData buildBoardInfoArea(const PropertyMap& propMap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:370,1
    - Dst: ipmi::fru::preFormatProcessing
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:373,1
    - Dst: ipmi::fru::appendData
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:376,1
    - Dst: ipmi::fru::appendData
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:379,1
    - Dst: ipmi::fru::appendData
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:382,1
    - Dst: ipmi::fru::appendData
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:385,1
    - Dst: ipmi::fru::appendData
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:388,1
    - Dst: FruAreaData::emplace_back
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:391,1
    - Dst: FruAreaData::emplace_back
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:394,1
    - Dst: FruAreaData::emplace_back
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:397,1
    - Dst: FruAreaData::emplace_back
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:400,1
    - Dst: ipmi::fru::postFormatProcessing
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:402,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - ' propMap'
    argTypes:
    - PropertyMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 367
    functionDepth: 2
    functionLinenumber: 367
    functionLinenumberEnd: 405
    functionName: ipmi::fru::buildProductInfoArea
    functionSourceFile: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp
    functionUses: 0
    functionsReached:
    - ipmi::fru::appendData
    - ipmi::fru::preFormatProcessing
    - FruAreaData::emplace_back
    - empty
    - ipmi::fru::postFormatProcessing
    linkageType: ''
    returnType: FruAreaData
    signature: FruAreaData buildProductInfoArea(const PropertyMap& propMap)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FruAreaData::emplace_back
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:415,1
    - Dst: FruAreaData::emplace_back
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:418,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:422,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:423,1
    - Dst: ipmi::fru::buildChassisInfoArea
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:425,1
    - Dst: ipmi::fru::buildCommonHeaderSection
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:428,1
    - Dst: FruAreaData::size
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:428,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:432,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:433,1
    - Dst: ipmi::fru::buildBoardInfoArea
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:435,1
    - Dst: ipmi::fru::buildCommonHeaderSection
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:438,1
    - Dst: FruAreaData::size
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:438,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:442,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:443,1
    - Dst: ipmi::fru::buildProductInfoArea
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:445,1
    - Dst: ipmi::fru::buildCommonHeaderSection
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:448,1
    - Dst: FruAreaData::size
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:448,1
    - Dst: FruAreaData::emplace_back
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:451,1
    - Dst: FruAreaData::emplace_back
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:454,1
    - Dst: ipmi::fru::appendDataChecksum
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:457,1
    - Dst: FruAreaData::insert
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:461,1
    - Dst: FruAreaData::end
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:461,1
    - Dst: FruAreaData::begin
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:461,1
    - Dst: FruAreaData::end
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:462,1
    - Dst: FruAreaData::insert
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:465,1
    - Dst: FruAreaData::end
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:465,1
    - Dst: FruAreaData::begin
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:465,1
    - Dst: FruAreaData::end
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:465,1
    - Dst: FruAreaData::insert
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:468,1
    - Dst: FruAreaData::end
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:468,1
    - Dst: FruAreaData::begin
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:468,1
    - Dst: FruAreaData::end
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:468,1
    - Dst: FruAreaData::size
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:472,1
    - Dst: FruAreaData::resize
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:474,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 1
    argNames:
    - ' inventory'
    argTypes:
    - FruInventoryData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 407
    functionDepth: 3
    functionLinenumber: 407
    functionLinenumberEnd: 478
    functionName: ipmi::fru::buildFruAreaData
    functionSourceFile: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp
    functionUses: 5
    functionsReached:
    - ipmi::fru::buildCommonHeaderSection
    - ipmi::fru::buildProductInfoArea
    - FruAreaData::end
    - ipmi::fru::buildBoardInfoArea
    - FruAreaData::size
    - FruAreaData::insert
    - FruAreaData::begin
    - ipmi::fru::appendDataChecksum
    - FruAreaData::emplace_back
    - end
    - find
    - ipmi::fru::buildChassisInfoArea
    - FruAreaData::resize
    linkageType: ''
    returnType: FruAreaData
    signature: FruAreaData buildFruAreaData(const FruInventoryData& inventory)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:72,1
    - Dst: emplace_back
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:75,1
    - Dst: emplace_back
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - langCode
    - ' data'
    argTypes:
    - bool
    - FruAreaData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 81
    functionName: ipmi::fru::preFormatProcessing
    functionSourceFile: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp
    functionUses: 3
    functionsReached:
    - emplace_back
    linkageType: ''
    returnType: void
    signature: void preFormatProcessing(bool langCode, FruAreaData& data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::accumulate
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:90,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:90,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:90,1
    - Dst: emplace_back
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - FruAreaData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 94
    functionName: ipmi::fru::appendDataChecksum
    functionSourceFile: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp
    functionUses: 2
    functionsReached:
    - std::accumulate
    - emplace_back
    - end
    - begin
    linkageType: ''
    returnType: void
    signature: void appendDataChecksum(FruAreaData& data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:103,1
    - Dst: resize
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:106,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - FruAreaData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 108
    functionName: ipmi::fru::padData
    functionSourceFile: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp
    functionUses: 1
    functionsReached:
    - size
    - resize
    linkageType: ''
    returnType: void
    signature: void padData(FruAreaData& data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::fru::padData
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:118,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:121,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:122,1
    - Dst: ipmi::fru::appendDataChecksum
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - FruAreaData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 126
    functionName: ipmi::fru::postFormatProcessing
    functionSourceFile: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp
    functionUses: 3
    functionsReached:
    - ipmi::fru::appendDataChecksum
    - size
    - at
    - ipmi::fru::padData
    linkageType: ''
    returnType: void
    signature: void postFormatProcessing(FruAreaData& data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:138,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:139,1
    - Dst: ipmi::tryParse
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:142,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:144,1
    - Dst: emplace_back
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:149,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' propMap'
    - ' data'
    argTypes:
    - PropertyMap
    - FruAreaData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 150
    functionName: ipmi::fru::appendChassisType
    functionSourceFile: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp
    functionUses: 1
    functionsReached:
    - emplace_back
    - ipmi::tryParse
    - end
    - find
    - lg2::error
    linkageType: ''
    returnType: void
    signature: void appendChassisType(const PropertyMap& propMap, FruAreaData& data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:162,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:163,1
    - Dst: auto::compare
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:168,1
    - Dst: auto::compare
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:169,1
    - Dst: auto::erase
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:171,1
    - Dst: auto::length
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:177,1
    - Dst: auto::length
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:179,1
    - Dst: emplace_back
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:184,1
    - Dst: std::copy
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:185,1
    - Dst: auto::begin
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:185,1
    - Dst: auto::begin
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:185,1
    - Dst: std::back_inserter
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:186,1
    - Dst: emplace_back
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:191,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - ' key'
    - ' propMap'
    - ' data'
    argTypes:
    - Property
    - PropertyMap
    - FruAreaData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 193
    functionName: ipmi::fru::appendData
    functionSourceFile: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp
    functionUses: 3
    functionsReached:
    - auto::length
    - auto::erase
    - auto::compare
    - emplace_back
    - std::back_inserter
    - end
    - std::copy
    - find
    - auto::begin
    linkageType: ''
    returnType: void
    signature: "void appendData(const Property& key, const PropertyMap& propMap,\n
      \               FruAreaData& data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::get_time
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:208,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:208,1
    - Dst: std::istringstream::fail
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:209,1
    - Dst: timegm
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:215,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 216
    functionName: ipmi::fru::timeStringToRaw
    functionSourceFile: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp
    functionUses: 1
    functionsReached:
    - c_str
    - std::get_time
    - timegm
    - std::istringstream::fail
    linkageType: ''
    returnType: std::time_t
    signature: std::time_t timeStringToRaw(const std::string& input)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:227,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:228,1
    - Dst: auto::second::size
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:228,1
    - Dst: ipmi::fru::timeStringToRaw
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:230,1
    - Dst: std::copy
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:245,1
    - Dst: std::back_inserter
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:245,1
    - Dst: std::fprintf
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:248,1
    - Dst: static_cast<unsigned int>
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:249,1
    - Dst: emplace_back
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:252,1
    - Dst: emplace_back
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:253,1
    - Dst: emplace_back
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:254,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - ' propMap'
    - ' data'
    argTypes:
    - PropertyMap
    - FruAreaData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 255
    functionName: ipmi::fru::appendMfgDate
    functionSourceFile: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp
    functionUses: 1
    functionsReached:
    - static_cast<unsigned int>
    - auto::second::size
    - std::fprintf
    - emplace_back
    - std::back_inserter
    - std::copy
    - end
    - find
    - ipmi::fru::timeStringToRaw
    linkageType: ''
    returnType: void
    signature: void appendMfgDate(const PropertyMap& propMap, FruAreaData& data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:271,1
    - Dst: emplace_back
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ' infoAreaSize'
    - ' offset'
    - ' data'
    argTypes:
    - uint32_t
    - uint16_t
    - FruAreaData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 285
    functionName: ipmi::fru::buildCommonHeaderSection
    functionSourceFile: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp
    functionUses: 1
    functionsReached:
    - emplace_back
    linkageType: ''
    returnType: void
    signature: "void buildCommonHeaderSection(const uint32_t& infoAreaSize, uint16_t&
      offset,\n                              FruAreaData& data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:296,1
    - Dst: ipmi::fru::preFormatProcessing
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:299,1
    - Dst: ipmi::fru::appendChassisType
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:302,1
    - Dst: ipmi::fru::appendData
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:305,1
    - Dst: ipmi::fru::appendData
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:308,1
    - Dst: FruAreaData::emplace_back
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:311,1
    - Dst: ipmi::fru::postFormatProcessing
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:314,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' propMap'
    argTypes:
    - PropertyMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 293
    functionDepth: 2
    functionLinenumber: 293
    functionLinenumberEnd: 317
    functionName: ipmi::fru::buildChassisInfoArea
    functionSourceFile: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp
    functionUses: 1
    functionsReached:
    - ipmi::fru::appendData
    - ipmi::fru::appendChassisType
    - ipmi::fru::preFormatProcessing
    - FruAreaData::emplace_back
    - empty
    - ipmi::fru::postFormatProcessing
    linkageType: ''
    returnType: FruAreaData
    signature: FruAreaData buildChassisInfoArea(const PropertyMap& propMap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:328,1
    - Dst: ipmi::fru::preFormatProcessing
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:330,1
    - Dst: ipmi::fru::appendMfgDate
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:333,1
    - Dst: ipmi::fru::appendData
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:336,1
    - Dst: ipmi::fru::appendData
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:339,1
    - Dst: ipmi::fru::appendData
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:342,1
    - Dst: ipmi::fru::appendData
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:345,1
    - Dst: FruAreaData::emplace_back
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:348,1
    - Dst: FruAreaData::emplace_back
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:351,1
    - Dst: FruAreaData::emplace_back
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:354,1
    - Dst: ipmi::fru::postFormatProcessing
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:356,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - ' propMap'
    argTypes:
    - PropertyMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 325
    functionDepth: 2
    functionLinenumber: 325
    functionLinenumberEnd: 359
    functionName: ipmi::fru::buildBoardInfoArea
    functionSourceFile: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp
    functionUses: 1
    functionsReached:
    - ipmi::fru::appendData
    - ipmi::fru::preFormatProcessing
    - ipmi::fru::appendMfgDate
    - FruAreaData::emplace_back
    - empty
    - ipmi::fru::postFormatProcessing
    linkageType: ''
    returnType: FruAreaData
    signature: FruAreaData buildBoardInfoArea(const PropertyMap& propMap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:370,1
    - Dst: ipmi::fru::preFormatProcessing
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:373,1
    - Dst: ipmi::fru::appendData
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:376,1
    - Dst: ipmi::fru::appendData
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:379,1
    - Dst: ipmi::fru::appendData
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:382,1
    - Dst: ipmi::fru::appendData
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:385,1
    - Dst: ipmi::fru::appendData
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:388,1
    - Dst: FruAreaData::emplace_back
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:391,1
    - Dst: FruAreaData::emplace_back
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:394,1
    - Dst: FruAreaData::emplace_back
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:397,1
    - Dst: FruAreaData::emplace_back
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:400,1
    - Dst: ipmi::fru::postFormatProcessing
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:402,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - ' propMap'
    argTypes:
    - PropertyMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 367
    functionDepth: 2
    functionLinenumber: 367
    functionLinenumberEnd: 405
    functionName: ipmi::fru::buildProductInfoArea
    functionSourceFile: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp
    functionUses: 1
    functionsReached:
    - ipmi::fru::appendData
    - ipmi::fru::preFormatProcessing
    - FruAreaData::emplace_back
    - empty
    - ipmi::fru::postFormatProcessing
    linkageType: ''
    returnType: FruAreaData
    signature: FruAreaData buildProductInfoArea(const PropertyMap& propMap)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FruAreaData::emplace_back
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:415,1
    - Dst: FruAreaData::emplace_back
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:418,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:422,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:423,1
    - Dst: ipmi::fru::buildChassisInfoArea
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:425,1
    - Dst: ipmi::fru::buildCommonHeaderSection
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:428,1
    - Dst: FruAreaData::size
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:428,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:432,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:433,1
    - Dst: ipmi::fru::buildBoardInfoArea
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:435,1
    - Dst: ipmi::fru::buildCommonHeaderSection
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:438,1
    - Dst: FruAreaData::size
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:438,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:442,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:443,1
    - Dst: ipmi::fru::buildProductInfoArea
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:445,1
    - Dst: ipmi::fru::buildCommonHeaderSection
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:448,1
    - Dst: FruAreaData::size
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:448,1
    - Dst: FruAreaData::emplace_back
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:451,1
    - Dst: FruAreaData::emplace_back
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:454,1
    - Dst: ipmi::fru::appendDataChecksum
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:457,1
    - Dst: FruAreaData::insert
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:461,1
    - Dst: FruAreaData::end
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:461,1
    - Dst: FruAreaData::begin
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:461,1
    - Dst: FruAreaData::end
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:462,1
    - Dst: FruAreaData::insert
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:465,1
    - Dst: FruAreaData::end
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:465,1
    - Dst: FruAreaData::begin
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:465,1
    - Dst: FruAreaData::end
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:465,1
    - Dst: FruAreaData::insert
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:468,1
    - Dst: FruAreaData::end
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:468,1
    - Dst: FruAreaData::begin
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:468,1
    - Dst: FruAreaData::end
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:468,1
    - Dst: FruAreaData::size
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:472,1
    - Dst: FruAreaData::resize
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:474,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 1
    argNames:
    - ' inventory'
    argTypes:
    - FruInventoryData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 407
    functionDepth: 3
    functionLinenumber: 407
    functionLinenumberEnd: 478
    functionName: ipmi::fru::buildFruAreaData
    functionSourceFile: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp
    functionUses: 5
    functionsReached:
    - ipmi::fru::buildCommonHeaderSection
    - ipmi::fru::buildProductInfoArea
    - FruAreaData::end
    - ipmi::fru::buildBoardInfoArea
    - FruAreaData::size
    - FruAreaData::insert
    - FruAreaData::begin
    - ipmi::fru::appendDataChecksum
    - FruAreaData::emplace_back
    - end
    - find
    - ipmi::fru::buildChassisInfoArea
    - FruAreaData::resize
    linkageType: ''
    returnType: FruAreaData
    signature: FruAreaData buildFruAreaData(const FruInventoryData& inventory)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:72,1
    - Dst: emplace_back
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:75,1
    - Dst: emplace_back
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - langCode
    - ' data'
    argTypes:
    - bool
    - FruAreaData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 81
    functionName: ipmi::fru::preFormatProcessing
    functionSourceFile: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp
    functionUses: 6
    functionsReached:
    - emplace_back
    linkageType: ''
    returnType: void
    signature: void preFormatProcessing(bool langCode, FruAreaData& data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::accumulate
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:90,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:90,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:90,1
    - Dst: emplace_back
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - FruAreaData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 94
    functionName: ipmi::fru::appendDataChecksum
    functionSourceFile: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp
    functionUses: 4
    functionsReached:
    - std::accumulate
    - emplace_back
    - end
    - begin
    linkageType: ''
    returnType: void
    signature: void appendDataChecksum(FruAreaData& data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:103,1
    - Dst: resize
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:106,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - FruAreaData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 108
    functionName: ipmi::fru::padData
    functionSourceFile: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp
    functionUses: 2
    functionsReached:
    - size
    - resize
    linkageType: ''
    returnType: void
    signature: void padData(FruAreaData& data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::fru::padData
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:118,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:121,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:122,1
    - Dst: ipmi::fru::appendDataChecksum
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - FruAreaData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 126
    functionName: ipmi::fru::postFormatProcessing
    functionSourceFile: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp
    functionUses: 6
    functionsReached:
    - ipmi::fru::appendDataChecksum
    - size
    - at
    - ipmi::fru::padData
    linkageType: ''
    returnType: void
    signature: void postFormatProcessing(FruAreaData& data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:138,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:139,1
    - Dst: ipmi::tryParse
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:142,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:144,1
    - Dst: emplace_back
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:149,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' propMap'
    - ' data'
    argTypes:
    - PropertyMap
    - FruAreaData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 150
    functionName: ipmi::fru::appendChassisType
    functionSourceFile: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp
    functionUses: 2
    functionsReached:
    - emplace_back
    - ipmi::tryParse
    - end
    - find
    - lg2::error
    linkageType: ''
    returnType: void
    signature: void appendChassisType(const PropertyMap& propMap, FruAreaData& data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:162,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:163,1
    - Dst: auto::compare
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:168,1
    - Dst: auto::compare
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:169,1
    - Dst: auto::erase
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:171,1
    - Dst: auto::length
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:177,1
    - Dst: auto::length
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:179,1
    - Dst: emplace_back
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:184,1
    - Dst: std::copy
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:185,1
    - Dst: auto::begin
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:185,1
    - Dst: auto::begin
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:185,1
    - Dst: std::back_inserter
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:186,1
    - Dst: emplace_back
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:191,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - ' key'
    - ' propMap'
    - ' data'
    argTypes:
    - Property
    - PropertyMap
    - FruAreaData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 193
    functionName: ipmi::fru::appendData
    functionSourceFile: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp
    functionUses: 6
    functionsReached:
    - auto::length
    - auto::erase
    - auto::compare
    - emplace_back
    - std::back_inserter
    - end
    - std::copy
    - find
    - auto::begin
    linkageType: ''
    returnType: void
    signature: "void appendData(const Property& key, const PropertyMap& propMap,\n
      \               FruAreaData& data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::get_time
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:208,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:208,1
    - Dst: std::istringstream::fail
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:209,1
    - Dst: timegm
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:215,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 216
    functionName: ipmi::fru::timeStringToRaw
    functionSourceFile: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp
    functionUses: 2
    functionsReached:
    - c_str
    - std::get_time
    - timegm
    - std::istringstream::fail
    linkageType: ''
    returnType: std::time_t
    signature: std::time_t timeStringToRaw(const std::string& input)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:227,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:228,1
    - Dst: auto::second::size
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:228,1
    - Dst: ipmi::fru::timeStringToRaw
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:230,1
    - Dst: std::copy
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:245,1
    - Dst: std::back_inserter
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:245,1
    - Dst: std::fprintf
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:248,1
    - Dst: static_cast<unsigned int>
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:249,1
    - Dst: emplace_back
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:252,1
    - Dst: emplace_back
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:253,1
    - Dst: emplace_back
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:254,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - ' propMap'
    - ' data'
    argTypes:
    - PropertyMap
    - FruAreaData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 255
    functionName: ipmi::fru::appendMfgDate
    functionSourceFile: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp
    functionUses: 2
    functionsReached:
    - static_cast<unsigned int>
    - auto::second::size
    - std::fprintf
    - emplace_back
    - std::back_inserter
    - std::copy
    - end
    - find
    - ipmi::fru::timeStringToRaw
    linkageType: ''
    returnType: void
    signature: void appendMfgDate(const PropertyMap& propMap, FruAreaData& data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:271,1
    - Dst: emplace_back
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ' infoAreaSize'
    - ' offset'
    - ' data'
    argTypes:
    - uint32_t
    - uint16_t
    - FruAreaData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 285
    functionName: ipmi::fru::buildCommonHeaderSection
    functionSourceFile: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp
    functionUses: 2
    functionsReached:
    - emplace_back
    linkageType: ''
    returnType: void
    signature: "void buildCommonHeaderSection(const uint32_t& infoAreaSize, uint16_t&
      offset,\n                              FruAreaData& data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:296,1
    - Dst: ipmi::fru::preFormatProcessing
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:299,1
    - Dst: ipmi::fru::appendChassisType
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:302,1
    - Dst: ipmi::fru::appendData
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:305,1
    - Dst: ipmi::fru::appendData
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:308,1
    - Dst: FruAreaData::emplace_back
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:311,1
    - Dst: ipmi::fru::postFormatProcessing
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:314,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' propMap'
    argTypes:
    - PropertyMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 293
    functionDepth: 2
    functionLinenumber: 293
    functionLinenumberEnd: 317
    functionName: ipmi::fru::buildChassisInfoArea
    functionSourceFile: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp
    functionUses: 2
    functionsReached:
    - ipmi::fru::appendData
    - ipmi::fru::appendChassisType
    - ipmi::fru::preFormatProcessing
    - FruAreaData::emplace_back
    - empty
    - ipmi::fru::postFormatProcessing
    linkageType: ''
    returnType: FruAreaData
    signature: FruAreaData buildChassisInfoArea(const PropertyMap& propMap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:328,1
    - Dst: ipmi::fru::preFormatProcessing
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:330,1
    - Dst: ipmi::fru::appendMfgDate
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:333,1
    - Dst: ipmi::fru::appendData
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:336,1
    - Dst: ipmi::fru::appendData
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:339,1
    - Dst: ipmi::fru::appendData
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:342,1
    - Dst: ipmi::fru::appendData
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:345,1
    - Dst: FruAreaData::emplace_back
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:348,1
    - Dst: FruAreaData::emplace_back
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:351,1
    - Dst: FruAreaData::emplace_back
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:354,1
    - Dst: ipmi::fru::postFormatProcessing
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:356,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - ' propMap'
    argTypes:
    - PropertyMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 325
    functionDepth: 2
    functionLinenumber: 325
    functionLinenumberEnd: 359
    functionName: ipmi::fru::buildBoardInfoArea
    functionSourceFile: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp
    functionUses: 2
    functionsReached:
    - ipmi::fru::appendData
    - ipmi::fru::preFormatProcessing
    - ipmi::fru::appendMfgDate
    - FruAreaData::emplace_back
    - empty
    - ipmi::fru::postFormatProcessing
    linkageType: ''
    returnType: FruAreaData
    signature: FruAreaData buildBoardInfoArea(const PropertyMap& propMap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:370,1
    - Dst: ipmi::fru::preFormatProcessing
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:373,1
    - Dst: ipmi::fru::appendData
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:376,1
    - Dst: ipmi::fru::appendData
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:379,1
    - Dst: ipmi::fru::appendData
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:382,1
    - Dst: ipmi::fru::appendData
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:385,1
    - Dst: ipmi::fru::appendData
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:388,1
    - Dst: FruAreaData::emplace_back
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:391,1
    - Dst: FruAreaData::emplace_back
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:394,1
    - Dst: FruAreaData::emplace_back
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:397,1
    - Dst: FruAreaData::emplace_back
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:400,1
    - Dst: ipmi::fru::postFormatProcessing
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:402,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - ' propMap'
    argTypes:
    - PropertyMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 367
    functionDepth: 2
    functionLinenumber: 367
    functionLinenumberEnd: 405
    functionName: ipmi::fru::buildProductInfoArea
    functionSourceFile: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp
    functionUses: 2
    functionsReached:
    - ipmi::fru::appendData
    - ipmi::fru::preFormatProcessing
    - FruAreaData::emplace_back
    - empty
    - ipmi::fru::postFormatProcessing
    linkageType: ''
    returnType: FruAreaData
    signature: FruAreaData buildProductInfoArea(const PropertyMap& propMap)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FruAreaData::emplace_back
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:415,1
    - Dst: FruAreaData::emplace_back
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:418,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:422,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:423,1
    - Dst: ipmi::fru::buildChassisInfoArea
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:425,1
    - Dst: ipmi::fru::buildCommonHeaderSection
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:428,1
    - Dst: FruAreaData::size
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:428,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:432,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:433,1
    - Dst: ipmi::fru::buildBoardInfoArea
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:435,1
    - Dst: ipmi::fru::buildCommonHeaderSection
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:438,1
    - Dst: FruAreaData::size
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:438,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:442,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:443,1
    - Dst: ipmi::fru::buildProductInfoArea
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:445,1
    - Dst: ipmi::fru::buildCommonHeaderSection
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:448,1
    - Dst: FruAreaData::size
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:448,1
    - Dst: FruAreaData::emplace_back
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:451,1
    - Dst: FruAreaData::emplace_back
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:454,1
    - Dst: ipmi::fru::appendDataChecksum
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:457,1
    - Dst: FruAreaData::insert
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:461,1
    - Dst: FruAreaData::end
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:461,1
    - Dst: FruAreaData::begin
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:461,1
    - Dst: FruAreaData::end
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:462,1
    - Dst: FruAreaData::insert
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:465,1
    - Dst: FruAreaData::end
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:465,1
    - Dst: FruAreaData::begin
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:465,1
    - Dst: FruAreaData::end
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:465,1
    - Dst: FruAreaData::insert
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:468,1
    - Dst: FruAreaData::end
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:468,1
    - Dst: FruAreaData::begin
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:468,1
    - Dst: FruAreaData::end
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:468,1
    - Dst: FruAreaData::size
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:472,1
    - Dst: FruAreaData::resize
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:474,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 1
    argNames:
    - ' inventory'
    argTypes:
    - FruInventoryData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 407
    functionDepth: 3
    functionLinenumber: 407
    functionLinenumberEnd: 478
    functionName: ipmi::fru::buildFruAreaData
    functionSourceFile: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp
    functionUses: 5
    functionsReached:
    - ipmi::fru::buildCommonHeaderSection
    - ipmi::fru::buildProductInfoArea
    - FruAreaData::end
    - ipmi::fru::buildBoardInfoArea
    - FruAreaData::size
    - FruAreaData::insert
    - FruAreaData::begin
    - ipmi::fru::appendDataChecksum
    - FruAreaData::emplace_back
    - end
    - find
    - ipmi::fru::buildChassisInfoArea
    - FruAreaData::resize
    linkageType: ''
    returnType: FruAreaData
    signature: FruAreaData buildFruAreaData(const FruInventoryData& inventory)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:72,1
    - Dst: emplace_back
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:75,1
    - Dst: emplace_back
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - langCode
    - ' data'
    argTypes:
    - bool
    - FruAreaData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 81
    functionName: ipmi::fru::preFormatProcessing
    functionSourceFile: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp
    functionUses: 9
    functionsReached:
    - emplace_back
    linkageType: ''
    returnType: void
    signature: void preFormatProcessing(bool langCode, FruAreaData& data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::accumulate
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:90,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:90,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:90,1
    - Dst: emplace_back
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - FruAreaData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 94
    functionName: ipmi::fru::appendDataChecksum
    functionSourceFile: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp
    functionUses: 6
    functionsReached:
    - std::accumulate
    - emplace_back
    - end
    - begin
    linkageType: ''
    returnType: void
    signature: void appendDataChecksum(FruAreaData& data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:103,1
    - Dst: resize
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:106,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - FruAreaData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 108
    functionName: ipmi::fru::padData
    functionSourceFile: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp
    functionUses: 3
    functionsReached:
    - size
    - resize
    linkageType: ''
    returnType: void
    signature: void padData(FruAreaData& data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::fru::padData
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:118,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:121,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:122,1
    - Dst: ipmi::fru::appendDataChecksum
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - FruAreaData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 126
    functionName: ipmi::fru::postFormatProcessing
    functionSourceFile: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp
    functionUses: 9
    functionsReached:
    - ipmi::fru::appendDataChecksum
    - size
    - at
    - ipmi::fru::padData
    linkageType: ''
    returnType: void
    signature: void postFormatProcessing(FruAreaData& data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:138,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:139,1
    - Dst: ipmi::tryParse
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:142,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:144,1
    - Dst: emplace_back
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:149,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' propMap'
    - ' data'
    argTypes:
    - PropertyMap
    - FruAreaData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 150
    functionName: ipmi::fru::appendChassisType
    functionSourceFile: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp
    functionUses: 3
    functionsReached:
    - emplace_back
    - ipmi::tryParse
    - end
    - find
    - lg2::error
    linkageType: ''
    returnType: void
    signature: void appendChassisType(const PropertyMap& propMap, FruAreaData& data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:162,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:163,1
    - Dst: auto::compare
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:168,1
    - Dst: auto::compare
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:169,1
    - Dst: auto::erase
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:171,1
    - Dst: auto::length
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:177,1
    - Dst: auto::length
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:179,1
    - Dst: emplace_back
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:184,1
    - Dst: std::copy
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:185,1
    - Dst: auto::begin
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:185,1
    - Dst: auto::begin
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:185,1
    - Dst: std::back_inserter
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:186,1
    - Dst: emplace_back
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:191,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - ' key'
    - ' propMap'
    - ' data'
    argTypes:
    - Property
    - PropertyMap
    - FruAreaData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 193
    functionName: ipmi::fru::appendData
    functionSourceFile: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp
    functionUses: 9
    functionsReached:
    - auto::length
    - auto::erase
    - auto::compare
    - emplace_back
    - std::back_inserter
    - end
    - std::copy
    - find
    - auto::begin
    linkageType: ''
    returnType: void
    signature: "void appendData(const Property& key, const PropertyMap& propMap,\n
      \               FruAreaData& data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::get_time
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:208,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:208,1
    - Dst: std::istringstream::fail
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:209,1
    - Dst: timegm
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:215,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 216
    functionName: ipmi::fru::timeStringToRaw
    functionSourceFile: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp
    functionUses: 3
    functionsReached:
    - c_str
    - std::get_time
    - timegm
    - std::istringstream::fail
    linkageType: ''
    returnType: std::time_t
    signature: std::time_t timeStringToRaw(const std::string& input)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:227,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:228,1
    - Dst: auto::second::size
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:228,1
    - Dst: ipmi::fru::timeStringToRaw
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:230,1
    - Dst: std::copy
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:245,1
    - Dst: std::back_inserter
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:245,1
    - Dst: std::fprintf
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:248,1
    - Dst: static_cast<unsigned int>
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:249,1
    - Dst: emplace_back
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:252,1
    - Dst: emplace_back
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:253,1
    - Dst: emplace_back
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:254,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - ' propMap'
    - ' data'
    argTypes:
    - PropertyMap
    - FruAreaData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 255
    functionName: ipmi::fru::appendMfgDate
    functionSourceFile: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp
    functionUses: 3
    functionsReached:
    - static_cast<unsigned int>
    - auto::second::size
    - std::fprintf
    - emplace_back
    - std::back_inserter
    - std::copy
    - end
    - find
    - ipmi::fru::timeStringToRaw
    linkageType: ''
    returnType: void
    signature: void appendMfgDate(const PropertyMap& propMap, FruAreaData& data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:271,1
    - Dst: emplace_back
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ' infoAreaSize'
    - ' offset'
    - ' data'
    argTypes:
    - uint32_t
    - uint16_t
    - FruAreaData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 285
    functionName: ipmi::fru::buildCommonHeaderSection
    functionSourceFile: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp
    functionUses: 3
    functionsReached:
    - emplace_back
    linkageType: ''
    returnType: void
    signature: "void buildCommonHeaderSection(const uint32_t& infoAreaSize, uint16_t&
      offset,\n                              FruAreaData& data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:296,1
    - Dst: ipmi::fru::preFormatProcessing
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:299,1
    - Dst: ipmi::fru::appendChassisType
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:302,1
    - Dst: ipmi::fru::appendData
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:305,1
    - Dst: ipmi::fru::appendData
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:308,1
    - Dst: FruAreaData::emplace_back
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:311,1
    - Dst: ipmi::fru::postFormatProcessing
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:314,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' propMap'
    argTypes:
    - PropertyMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 293
    functionDepth: 2
    functionLinenumber: 293
    functionLinenumberEnd: 317
    functionName: ipmi::fru::buildChassisInfoArea
    functionSourceFile: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp
    functionUses: 3
    functionsReached:
    - ipmi::fru::appendData
    - ipmi::fru::appendChassisType
    - ipmi::fru::preFormatProcessing
    - FruAreaData::emplace_back
    - empty
    - ipmi::fru::postFormatProcessing
    linkageType: ''
    returnType: FruAreaData
    signature: FruAreaData buildChassisInfoArea(const PropertyMap& propMap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:328,1
    - Dst: ipmi::fru::preFormatProcessing
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:330,1
    - Dst: ipmi::fru::appendMfgDate
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:333,1
    - Dst: ipmi::fru::appendData
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:336,1
    - Dst: ipmi::fru::appendData
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:339,1
    - Dst: ipmi::fru::appendData
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:342,1
    - Dst: ipmi::fru::appendData
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:345,1
    - Dst: FruAreaData::emplace_back
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:348,1
    - Dst: FruAreaData::emplace_back
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:351,1
    - Dst: FruAreaData::emplace_back
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:354,1
    - Dst: ipmi::fru::postFormatProcessing
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:356,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - ' propMap'
    argTypes:
    - PropertyMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 325
    functionDepth: 2
    functionLinenumber: 325
    functionLinenumberEnd: 359
    functionName: ipmi::fru::buildBoardInfoArea
    functionSourceFile: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp
    functionUses: 3
    functionsReached:
    - ipmi::fru::appendData
    - ipmi::fru::preFormatProcessing
    - ipmi::fru::appendMfgDate
    - FruAreaData::emplace_back
    - empty
    - ipmi::fru::postFormatProcessing
    linkageType: ''
    returnType: FruAreaData
    signature: FruAreaData buildBoardInfoArea(const PropertyMap& propMap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:370,1
    - Dst: ipmi::fru::preFormatProcessing
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:373,1
    - Dst: ipmi::fru::appendData
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:376,1
    - Dst: ipmi::fru::appendData
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:379,1
    - Dst: ipmi::fru::appendData
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:382,1
    - Dst: ipmi::fru::appendData
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:385,1
    - Dst: ipmi::fru::appendData
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:388,1
    - Dst: FruAreaData::emplace_back
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:391,1
    - Dst: FruAreaData::emplace_back
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:394,1
    - Dst: FruAreaData::emplace_back
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:397,1
    - Dst: FruAreaData::emplace_back
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:400,1
    - Dst: ipmi::fru::postFormatProcessing
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:402,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - ' propMap'
    argTypes:
    - PropertyMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 367
    functionDepth: 2
    functionLinenumber: 367
    functionLinenumberEnd: 405
    functionName: ipmi::fru::buildProductInfoArea
    functionSourceFile: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp
    functionUses: 3
    functionsReached:
    - ipmi::fru::appendData
    - ipmi::fru::preFormatProcessing
    - FruAreaData::emplace_back
    - empty
    - ipmi::fru::postFormatProcessing
    linkageType: ''
    returnType: FruAreaData
    signature: FruAreaData buildProductInfoArea(const PropertyMap& propMap)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FruAreaData::emplace_back
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:415,1
    - Dst: FruAreaData::emplace_back
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:418,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:422,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:423,1
    - Dst: ipmi::fru::buildChassisInfoArea
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:425,1
    - Dst: ipmi::fru::buildCommonHeaderSection
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:428,1
    - Dst: FruAreaData::size
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:428,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:432,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:433,1
    - Dst: ipmi::fru::buildBoardInfoArea
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:435,1
    - Dst: ipmi::fru::buildCommonHeaderSection
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:438,1
    - Dst: FruAreaData::size
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:438,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:442,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:443,1
    - Dst: ipmi::fru::buildProductInfoArea
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:445,1
    - Dst: ipmi::fru::buildCommonHeaderSection
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:448,1
    - Dst: FruAreaData::size
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:448,1
    - Dst: FruAreaData::emplace_back
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:451,1
    - Dst: FruAreaData::emplace_back
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:454,1
    - Dst: ipmi::fru::appendDataChecksum
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:457,1
    - Dst: FruAreaData::insert
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:461,1
    - Dst: FruAreaData::end
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:461,1
    - Dst: FruAreaData::begin
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:461,1
    - Dst: FruAreaData::end
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:462,1
    - Dst: FruAreaData::insert
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:465,1
    - Dst: FruAreaData::end
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:465,1
    - Dst: FruAreaData::begin
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:465,1
    - Dst: FruAreaData::end
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:465,1
    - Dst: FruAreaData::insert
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:468,1
    - Dst: FruAreaData::end
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:468,1
    - Dst: FruAreaData::begin
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:468,1
    - Dst: FruAreaData::end
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:468,1
    - Dst: FruAreaData::size
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:472,1
    - Dst: FruAreaData::resize
      Src: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp:474,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 1
    argNames:
    - ' inventory'
    argTypes:
    - FruInventoryData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 407
    functionDepth: 3
    functionLinenumber: 407
    functionLinenumberEnd: 478
    functionName: ipmi::fru::buildFruAreaData
    functionSourceFile: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp
    functionUses: 5
    functionsReached:
    - ipmi::fru::buildCommonHeaderSection
    - ipmi::fru::buildProductInfoArea
    - FruAreaData::end
    - ipmi::fru::buildBoardInfoArea
    - FruAreaData::size
    - FruAreaData::insert
    - FruAreaData::begin
    - ipmi::fru::appendDataChecksum
    - FruAreaData::emplace_back
    - end
    - find
    - ipmi::fru::buildChassisInfoArea
    - FruAreaData::resize
    linkageType: ''
    returnType: FruAreaData
    signature: FruAreaData buildFruAreaData(const FruInventoryData& inventory)
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 24
    argCount: 5
    argNames:
    - codeType
    - codeSeverity
    - codeClass
    - codeSubClass
    - codeOperation
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 88
    functionName: ipmi::getSbmrBootProgressStage
    functionSourceFile: /src/phosphor-host-ipmid/sbmrhandler.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: "std::string getSbmrBootProgressStage(uint8_t codeType, uint8_t codeSeverity,\n
      \                                    uint8_t codeClass, uint8_t codeSubClass,\n
      \                                    uint16_t codeOperation)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getDbusObject
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:99,1
    - Dst: boost::system::error_code::value
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:100,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:102,1
    - Dst: boost::system::error_code::message
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:103,1
    - Dst: ipmi::setDbusProperty
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:108,1
    - Dst: boost::system::error_code::value
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:111,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:113,1
    - Dst: boost::system::error_code::message
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' ctx'
    - ' value'
    argTypes:
    - ipmi::Context::ptr
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 120
    functionName: ipmi::updateBootProgressProperty
    functionSourceFile: /src/phosphor-host-ipmid/sbmrhandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::setDbusProperty
    - boost::system::error_code::message
    - ipmi::getDbusObject
    - boost::system::error_code::value
    - lg2::error
    linkageType: ''
    returnType: bool
    signature: "bool updateBootProgressProperty(ipmi::Context::ptr& ctx,\n                                const
      std::string& value)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getDbusObject
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:129,1
    - Dst: boost::system::error_code::value
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:130,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:132,1
    - Dst: boost::system::error_code::message
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:133,1
    - Dst: ipmi::setDbusProperty
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:138,1
    - Dst: boost::system::error_code::value
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:141,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:143,1
    - Dst: boost::system::error_code::message
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:145,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' ctx'
    - timeStamp
    argTypes:
    - ipmi::Context::ptr
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 150
    functionName: ipmi::updateBootProgressLastUpdateProperty
    functionSourceFile: /src/phosphor-host-ipmid/sbmrhandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::setDbusProperty
    - boost::system::error_code::message
    - ipmi::getDbusObject
    - boost::system::error_code::value
    - lg2::error
    linkageType: ''
    returnType: bool
    signature: "bool updateBootProgressLastUpdateProperty(ipmi::Context::ptr& ctx,\n
      \                                         uint64_t timeStamp)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getDbusObject
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:163,1
    - Dst: boost::system::error_code::value
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:164,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:166,1
    - Dst: boost::system::error_code::message
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:167,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:168,1
    - Dst: ipmi::setDbusProperty
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:176,1
    - Dst: boost::system::error_code::value
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:179,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:181,1
    - Dst: boost::system::error_code::message
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:182,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:183,1
    - Dst: std::chrono::duration_cast<std::chrono::microseconds>
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:187,1
    - Dst: std::chrono::system_clock::now
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:188,1
    - Dst: ipmi::updateBootProgressLastUpdateProperty
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:190,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:192,1
    - Dst: static_cast<uint16_t>
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:197,1
    - Dst: ipmi::getSbmrBootProgressStage
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:199,1
    - Dst: ipmi::updateBootProgressProperty
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:202,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:204,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:207,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 10
    argNames:
    - ctx
    - codeType
    - codeReserved1
    - codeReserved2
    - codeSeverity
    - codeOperation1
    - codeOperation2
    - codeSubClass
    - codeClass
    - instance
    argTypes:
    - ipmi::Context::ptr
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 208
    functionName: ipmi::sendBootProgressCode
    functionSourceFile: /src/phosphor-host-ipmid/sbmrhandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::updateBootProgressProperty
    - ipmi::setDbusProperty
    - ipmi::updateBootProgressLastUpdateProperty
    - ipmi::responseUnspecifiedError
    - ipmi::responseSuccess
    - std::chrono::duration_cast<std::chrono::microseconds>
    - boost::system::error_code::message
    - ipmi::getSbmrBootProgressStage
    - ipmi::getDbusObject
    - boost::system::error_code::value
    - std::chrono::system_clock::now
    - static_cast<uint16_t>
    - lg2::error
    linkageType: ''
    returnType: ipmi::RspType<>
    signature: "ipmi::RspType<> sendBootProgressCode(\n    ipmi::Context::ptr ctx,
      uint8_t codeType, uint8_t codeReserved1,\n    uint8_t codeReserved2, uint8_t
      codeSeverity, uint8_t codeOperation1,\n    uint8_t codeOperation2, uint8_t codeSubClass,
      uint8_t codeClass,\n    uint8_t instance)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getDbusObject
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:225,1
    - Dst: boost::system::error_code::value
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:226,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:228,1
    - Dst: boost::system::error_code::message
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:229,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:230,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:235,1
    - Dst: boost::system::error_code::value
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:238,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:240,1
    - Dst: boost::system::error_code::message
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:241,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:242,1
    - Dst: std::get<0>
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:245,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:245,1
    - Dst: auto::size
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:246,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:248,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:251,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - ipmi::Context::ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 257
    functionName: ipmi::getBootProgressCode
    functionSourceFile: /src/phosphor-host-ipmid/sbmrhandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::responseSuccess
    - ipmi::responseUnspecifiedError
    - boost::system::error_code::message
    - ipmi::getDbusProperty
    - std::get<0>
    - ipmi::getDbusObject
    - auto::size
    - boost::system::error_code::value
    - std::move
    - lg2::error
    linkageType: ''
    returnType: "ipmi::RspType<uint8_t, // STATUS_CODE_TYPE\n              uint8_t,
      // STATUS_CODE_RESERVED1\n              uint8_t, // STATUS_CODE_RESERVED2\n
      \             uint8_t, // STATUS_CODE_SEVERITY\n              uint8_t, // STATUS_CODE_OPERATION1\n
      \             uint8_t, // STATUS_CODE_OPERATION2\n              uint8_t, //
      STATUS_CODE_SUBCLASS\n              uint8_t, // STATUS_CODE_CLASS\n              uint8_t>"
    signature: "ipmi::RspType<uint8_t, // STATUS_CODE_TYPE\n              uint8_t,
      // STATUS_CODE_RESERVED1\n              uint8_t, // STATUS_CODE_RESERVED2\n
      \             uint8_t, // STATUS_CODE_SEVERITY\n              uint8_t, // STATUS_CODE_OPERATION1\n
      \             uint8_t, // STATUS_CODE_OPERATION2\n              uint8_t, //
      STATUS_CODE_SUBCLASS\n              uint8_t, // STATUS_CODE_CLASS\n              uint8_t>
      getBootProgressCode(ipmi::Context::ptr ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:262,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:264,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:265,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - mediumType
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 271
    functionName: ipmi::checkAllowedMediumType
    functionSourceFile: /src/phosphor-host-ipmid/sbmrhandler.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    linkageType: ''
    returnType: bool
    signature: bool checkAllowedMediumType(uint8_t mediumType)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getChannelInfo
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:283,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:285,1
    - Dst: ipmi::checkAllowedMediumType
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:291,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:293,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - request
    argTypes:
    - ipmi::message::Request::ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 299
    functionName: ipmi::sbmrFilterCommands
    functionSourceFile: /src/phosphor-host-ipmid/sbmrhandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::getChannelInfo
    - lg2::error
    - ipmi::checkAllowedMediumType
    linkageType: ''
    returnType: ipmi::Cc
    signature: ipmi::Cc sbmrFilterCommands(ipmi::message::Request::ptr request)
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 24
    argCount: 5
    argNames:
    - codeType
    - codeSeverity
    - codeClass
    - codeSubClass
    - codeOperation
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 88
    functionName: ipmi::getSbmrBootProgressStage
    functionSourceFile: /src/phosphor-host-ipmid/sbmrhandler.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: "std::string getSbmrBootProgressStage(uint8_t codeType, uint8_t codeSeverity,\n
      \                                    uint8_t codeClass, uint8_t codeSubClass,\n
      \                                    uint16_t codeOperation)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getDbusObject
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:99,1
    - Dst: boost::system::error_code::value
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:100,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:102,1
    - Dst: boost::system::error_code::message
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:103,1
    - Dst: ipmi::setDbusProperty
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:108,1
    - Dst: boost::system::error_code::value
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:111,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:113,1
    - Dst: boost::system::error_code::message
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' ctx'
    - ' value'
    argTypes:
    - ipmi::Context::ptr
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 120
    functionName: ipmi::updateBootProgressProperty
    functionSourceFile: /src/phosphor-host-ipmid/sbmrhandler.cpp
    functionUses: 1
    functionsReached:
    - ipmi::setDbusProperty
    - boost::system::error_code::message
    - ipmi::getDbusObject
    - boost::system::error_code::value
    - lg2::error
    linkageType: ''
    returnType: bool
    signature: "bool updateBootProgressProperty(ipmi::Context::ptr& ctx,\n                                const
      std::string& value)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getDbusObject
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:129,1
    - Dst: boost::system::error_code::value
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:130,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:132,1
    - Dst: boost::system::error_code::message
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:133,1
    - Dst: ipmi::setDbusProperty
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:138,1
    - Dst: boost::system::error_code::value
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:141,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:143,1
    - Dst: boost::system::error_code::message
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:145,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' ctx'
    - timeStamp
    argTypes:
    - ipmi::Context::ptr
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 150
    functionName: ipmi::updateBootProgressLastUpdateProperty
    functionSourceFile: /src/phosphor-host-ipmid/sbmrhandler.cpp
    functionUses: 1
    functionsReached:
    - ipmi::setDbusProperty
    - boost::system::error_code::message
    - ipmi::getDbusObject
    - boost::system::error_code::value
    - lg2::error
    linkageType: ''
    returnType: bool
    signature: "bool updateBootProgressLastUpdateProperty(ipmi::Context::ptr& ctx,\n
      \                                         uint64_t timeStamp)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getDbusObject
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:163,1
    - Dst: boost::system::error_code::value
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:164,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:166,1
    - Dst: boost::system::error_code::message
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:167,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:168,1
    - Dst: ipmi::setDbusProperty
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:176,1
    - Dst: boost::system::error_code::value
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:179,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:181,1
    - Dst: boost::system::error_code::message
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:182,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:183,1
    - Dst: std::chrono::duration_cast<std::chrono::microseconds>
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:187,1
    - Dst: std::chrono::system_clock::now
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:188,1
    - Dst: ipmi::updateBootProgressLastUpdateProperty
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:190,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:192,1
    - Dst: static_cast<uint16_t>
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:197,1
    - Dst: ipmi::getSbmrBootProgressStage
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:199,1
    - Dst: ipmi::updateBootProgressProperty
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:202,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:204,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:207,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 10
    argNames:
    - ctx
    - codeType
    - codeReserved1
    - codeReserved2
    - codeSeverity
    - codeOperation1
    - codeOperation2
    - codeSubClass
    - codeClass
    - instance
    argTypes:
    - ipmi::Context::ptr
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 208
    functionName: ipmi::sendBootProgressCode
    functionSourceFile: /src/phosphor-host-ipmid/sbmrhandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::updateBootProgressProperty
    - ipmi::setDbusProperty
    - ipmi::updateBootProgressLastUpdateProperty
    - ipmi::responseUnspecifiedError
    - ipmi::responseSuccess
    - std::chrono::duration_cast<std::chrono::microseconds>
    - boost::system::error_code::message
    - ipmi::getSbmrBootProgressStage
    - ipmi::getDbusObject
    - boost::system::error_code::value
    - std::chrono::system_clock::now
    - static_cast<uint16_t>
    - lg2::error
    linkageType: ''
    returnType: ipmi::RspType<>
    signature: "ipmi::RspType<> sendBootProgressCode(\n    ipmi::Context::ptr ctx,
      uint8_t codeType, uint8_t codeReserved1,\n    uint8_t codeReserved2, uint8_t
      codeSeverity, uint8_t codeOperation1,\n    uint8_t codeOperation2, uint8_t codeSubClass,
      uint8_t codeClass,\n    uint8_t instance)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getDbusObject
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:225,1
    - Dst: boost::system::error_code::value
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:226,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:228,1
    - Dst: boost::system::error_code::message
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:229,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:230,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:235,1
    - Dst: boost::system::error_code::value
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:238,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:240,1
    - Dst: boost::system::error_code::message
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:241,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:242,1
    - Dst: std::get<0>
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:245,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:245,1
    - Dst: auto::size
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:246,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:248,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:251,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - ipmi::Context::ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 257
    functionName: ipmi::getBootProgressCode
    functionSourceFile: /src/phosphor-host-ipmid/sbmrhandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::responseSuccess
    - ipmi::responseUnspecifiedError
    - boost::system::error_code::message
    - ipmi::getDbusProperty
    - std::get<0>
    - ipmi::getDbusObject
    - auto::size
    - boost::system::error_code::value
    - std::move
    - lg2::error
    linkageType: ''
    returnType: "ipmi::RspType<uint8_t, // STATUS_CODE_TYPE\n              uint8_t,
      // STATUS_CODE_RESERVED1\n              uint8_t, // STATUS_CODE_RESERVED2\n
      \             uint8_t, // STATUS_CODE_SEVERITY\n              uint8_t, // STATUS_CODE_OPERATION1\n
      \             uint8_t, // STATUS_CODE_OPERATION2\n              uint8_t, //
      STATUS_CODE_SUBCLASS\n              uint8_t, // STATUS_CODE_CLASS\n              uint8_t>"
    signature: "ipmi::RspType<uint8_t, // STATUS_CODE_TYPE\n              uint8_t,
      // STATUS_CODE_RESERVED1\n              uint8_t, // STATUS_CODE_RESERVED2\n
      \             uint8_t, // STATUS_CODE_SEVERITY\n              uint8_t, // STATUS_CODE_OPERATION1\n
      \             uint8_t, // STATUS_CODE_OPERATION2\n              uint8_t, //
      STATUS_CODE_SUBCLASS\n              uint8_t, // STATUS_CODE_CLASS\n              uint8_t>
      getBootProgressCode(ipmi::Context::ptr ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:262,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:264,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:265,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - mediumType
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 271
    functionName: ipmi::checkAllowedMediumType
    functionSourceFile: /src/phosphor-host-ipmid/sbmrhandler.cpp
    functionUses: 1
    functionsReached:
    - static_cast<uint8_t>
    linkageType: ''
    returnType: bool
    signature: bool checkAllowedMediumType(uint8_t mediumType)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getChannelInfo
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:283,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:285,1
    - Dst: ipmi::checkAllowedMediumType
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:291,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:293,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - request
    argTypes:
    - ipmi::message::Request::ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 299
    functionName: ipmi::sbmrFilterCommands
    functionSourceFile: /src/phosphor-host-ipmid/sbmrhandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::getChannelInfo
    - lg2::error
    - ipmi::checkAllowedMediumType
    linkageType: ''
    returnType: ipmi::Cc
    signature: ipmi::Cc sbmrFilterCommands(ipmi::message::Request::ptr request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: registerGroupHandler
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:305,1
    - Dst: registerGroupHandler
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:309,1
    - Dst: ipmi::registerFilter
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:313,1
    - Dst: ipmi::sbmrFilterCommands
      Src: /src/phosphor-host-ipmid/sbmrhandler.cpp:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 303
    functionDepth: 2
    functionLinenumber: 303
    functionLinenumberEnd: 317
    functionName: registerNetfnSBMRFunctions
    functionSourceFile: /src/phosphor-host-ipmid/sbmrhandler.cpp
    functionUses: 0
    functionsReached:
    - registerGroupHandler
    - ipmi::sbmrFilterCommands
    - ipmi::registerFilter
    linkageType: ''
    returnType: void
    signature: void registerNetfnSBMRFunctions()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getDbusObject
      Src: /src/phosphor-host-ipmid/globalhandler.cpp:19,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/globalhandler.cpp:25,1
    - Dst: ipmi::setDbusProperty
      Src: /src/phosphor-host-ipmid/globalhandler.cpp:29,1
    - Dst: convertForMessage
      Src: /src/phosphor-host-ipmid/globalhandler.cpp:32,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/globalhandler.cpp:37,1
    - Dst: boost::system::error_code::message
      Src: /src/phosphor-host-ipmid/globalhandler.cpp:37,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/globalhandler.cpp:38,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/globalhandler.cpp:42,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - ipmi::Context::ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 43
    functionName: ipmiGlobalReset
    functionSourceFile: /src/phosphor-host-ipmid/globalhandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::setDbusProperty
    - ipmi::responseSuccess
    - ipmi::responseUnspecifiedError
    - ipmi::getService
    - boost::system::error_code::message
    - ipmi::getDbusObject
    - convertForMessage
    - lg2::error
    linkageType: ''
    returnType: ipmi::RspType<>
    signature: ipmi::RspType<> ipmiGlobalReset(ipmi::Context::ptr ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/globalhandler.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 52
    functionName: registerNetFnGlobalFunctions
    functionSourceFile: /src/phosphor-host-ipmid/globalhandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::registerHandler
    linkageType: ''
    returnType: void
    signature: void registerNetFnGlobalFunctions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::bind
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:34,1
    - Dst: sdbusRule::propertiesChanged
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:37,1
    - Dst: std::bind
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' bus'
    argTypes:
    - sdbusplus::bus_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 42
    functionName: phosphor::host::command::Manager::Manager
    functionSourceFile: /src/phosphor-host-ipmid/host-cmd-manager.cpp
    functionUses: 0
    functionsReached:
    - sdbusRule::propertiesChanged
    - std::bind
    linkageType: ''
    returnType: void
    signature: void Manager::Manager(sdbusplus::bus_t& bus)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stop
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:48,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:51,1
    - Dst: strerror
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:51,1
    - Dst: phosphor::host::command::Manager::workQueue::empty
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:54,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:58,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:60,1
    - Dst: phosphor::host::command::Manager::workQueue::front
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:64,1
    - Dst: phosphor::host::command::Manager::workQueue::pop
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:65,1
    - Dst: std::get<0>
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:68,1
    - Dst: std::get<CallBack>
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:73,1
    - Dst: phosphor::host::command::Manager::checkQueueAndAlertHost
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 80
    functionName: phosphor::host::command::Manager::getNextCommand
    functionSourceFile: /src/phosphor-host-ipmid/host-cmd-manager.cpp
    functionUses: 0
    functionsReached:
    - phosphor::host::command::Manager::workQueue::empty
    - stop
    - strerror
    - phosphor::host::command::Manager::checkQueueAndAlertHost
    - std::make_pair
    - std::get<0>
    - phosphor::host::command::Manager::workQueue::pop
    - lg2::debug
    - phosphor::host::command::Manager::workQueue::front
    - std::get<CallBack>
    - lg2::error
    linkageType: ''
    returnType: IpmiCmdData
    signature: IpmiCmdData Manager::getNextCommand()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:85,1
    - Dst: phosphor::host::command::Manager::clearQueue
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 88
    functionName: phosphor::host::command::Manager::hostTimeout
    functionSourceFile: /src/phosphor-host-ipmid/host-cmd-manager.cpp
    functionUses: 0
    functionsReached:
    - phosphor::host::command::Manager::clearQueue
    - lg2::error
    linkageType: ''
    returnType: void
    signature: void Manager::hostTimeout()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: phosphor::host::command::Manager::workQueue::empty
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:93,1
    - Dst: phosphor::host::command::Manager::workQueue::front
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:95,1
    - Dst: phosphor::host::command::Manager::workQueue::pop
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:96,1
    - Dst: std::get<0>
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:99,1
    - Dst: std::get<CallBack>
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 105
    functionName: phosphor::host::command::Manager::clearQueue
    functionSourceFile: /src/phosphor-host-ipmid/host-cmd-manager.cpp
    functionUses: 1
    functionsReached:
    - phosphor::host::command::Manager::workQueue::empty
    - std::get<0>
    - phosphor::host::command::Manager::workQueue::pop
    - phosphor::host::command::Manager::workQueue::front
    - std::get<CallBack>
    linkageType: ''
    returnType: void
    signature: void Manager::clearQueue()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: phosphor::host::command::Manager::workQueue::size
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:110,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:112,1
    - Dst: std::chrono::duration_cast<std::chrono::microseconds>
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:119,1
    - Dst: std::chrono::seconds
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:120,1
    - Dst: start
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:122,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:125,1
    - Dst: phosphor::host::command::Manager::bus::new_method_call
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:130,1
    - Dst: std::string::c_str
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:130,1
    - Dst: std::string::c_str
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:130,1
    - Dst: std::string::c_str
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:131,1
    - Dst: phosphor::host::command::Manager::bus::call
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:135,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:137,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:141,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 144
    functionName: phosphor::host::command::Manager::checkQueueAndAlertHost
    functionSourceFile: /src/phosphor-host-ipmid/host-cmd-manager.cpp
    functionUses: 1
    functionsReached:
    - phosphor::host::command::Manager::workQueue::size
    - start
    - std::chrono::duration_cast<std::chrono::microseconds>
    - std::string::c_str
    - std::chrono::seconds
    - phosphor::host::command::Manager::bus::new_method_call
    - phosphor::host::command::Manager::bus::call
    - lg2::debug
    - lg2::error
    linkageType: ''
    returnType: void
    signature: void Manager::checkQueueAndAlertHost()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:149,1
    - Dst: std::get<0>
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:150,1
    - Dst: phosphor::host::command::Manager::workQueue::emplace
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:152,1
    - Dst: phosphor::host::command::Manager::workQueue::size
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:156,1
    - Dst: phosphor::host::command::Manager::checkQueueAndAlertHost
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:158,1
    - Dst: lg2::info
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - command
    argTypes:
    - CommandHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 166
    functionName: phosphor::host::command::Manager::execute
    functionSourceFile: /src/phosphor-host-ipmid/host-cmd-manager.cpp
    functionUses: 0
    functionsReached:
    - phosphor::host::command::Manager::workQueue::size
    - phosphor::host::command::Manager::checkQueueAndAlertHost
    - std::get<0>
    - phosphor::host::command::Manager::workQueue::emplace
    - lg2::debug
    - lg2::info
    linkageType: ''
    returnType: void
    signature: void Manager::execute(CommandHandler command)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:175,1
    - Dst: ::ipmi::PropertyMap::find
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:177,1
    - Dst: ::ipmi::PropertyMap::end
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:178,1
    - Dst: std::get<std::string>
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:183,1
    - Dst: ::ipmi::PropertyMap::at
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:184,1
    - Dst: server::Host::convertTransitionFromString
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:186,1
    - Dst: phosphor::host::command::Manager::clearQueue
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:189,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - sdbusplus::message_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 191
    functionName: phosphor::host::command::Manager::clearQueueOnPowerOn
    functionSourceFile: /src/phosphor-host-ipmid/host-cmd-manager.cpp
    functionUses: 0
    functionsReached:
    - ::ipmi::PropertyMap::end
    - read
    - server::Host::convertTransitionFromString
    - ::ipmi::PropertyMap::find
    - ::ipmi::PropertyMap::at
    - phosphor::host::command::Manager::clearQueue
    - std::get<std::string>
    linkageType: ''
    returnType: void
    signature: void Manager::clearQueueOnPowerOn(sdbusplus::message_t& msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::bind
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:34,1
    - Dst: sdbusRule::propertiesChanged
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:37,1
    - Dst: std::bind
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' bus'
    argTypes:
    - sdbusplus::bus_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 42
    functionName: phosphor::host::command::Manager::Manager
    functionSourceFile: /src/phosphor-host-ipmid/host-cmd-manager.cpp
    functionUses: 0
    functionsReached:
    - sdbusRule::propertiesChanged
    - std::bind
    linkageType: ''
    returnType: void
    signature: void Manager::Manager(sdbusplus::bus_t& bus)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stop
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:48,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:51,1
    - Dst: strerror
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:51,1
    - Dst: phosphor::host::command::Manager::workQueue::empty
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:54,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:58,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:60,1
    - Dst: phosphor::host::command::Manager::workQueue::front
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:64,1
    - Dst: phosphor::host::command::Manager::workQueue::pop
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:65,1
    - Dst: std::get<0>
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:68,1
    - Dst: std::get<CallBack>
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:73,1
    - Dst: phosphor::host::command::Manager::checkQueueAndAlertHost
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 80
    functionName: phosphor::host::command::Manager::getNextCommand
    functionSourceFile: /src/phosphor-host-ipmid/host-cmd-manager.cpp
    functionUses: 0
    functionsReached:
    - phosphor::host::command::Manager::workQueue::empty
    - stop
    - strerror
    - phosphor::host::command::Manager::checkQueueAndAlertHost
    - std::make_pair
    - std::get<0>
    - phosphor::host::command::Manager::workQueue::pop
    - lg2::debug
    - phosphor::host::command::Manager::workQueue::front
    - std::get<CallBack>
    - lg2::error
    linkageType: ''
    returnType: IpmiCmdData
    signature: IpmiCmdData Manager::getNextCommand()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:85,1
    - Dst: phosphor::host::command::Manager::clearQueue
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 88
    functionName: phosphor::host::command::Manager::hostTimeout
    functionSourceFile: /src/phosphor-host-ipmid/host-cmd-manager.cpp
    functionUses: 0
    functionsReached:
    - phosphor::host::command::Manager::clearQueue
    - lg2::error
    linkageType: ''
    returnType: void
    signature: void Manager::hostTimeout()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: phosphor::host::command::Manager::workQueue::empty
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:93,1
    - Dst: phosphor::host::command::Manager::workQueue::front
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:95,1
    - Dst: phosphor::host::command::Manager::workQueue::pop
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:96,1
    - Dst: std::get<0>
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:99,1
    - Dst: std::get<CallBack>
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 105
    functionName: phosphor::host::command::Manager::clearQueue
    functionSourceFile: /src/phosphor-host-ipmid/host-cmd-manager.cpp
    functionUses: 3
    functionsReached:
    - phosphor::host::command::Manager::workQueue::empty
    - std::get<0>
    - phosphor::host::command::Manager::workQueue::pop
    - phosphor::host::command::Manager::workQueue::front
    - std::get<CallBack>
    linkageType: ''
    returnType: void
    signature: void Manager::clearQueue()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: phosphor::host::command::Manager::workQueue::size
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:110,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:112,1
    - Dst: std::chrono::duration_cast<std::chrono::microseconds>
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:119,1
    - Dst: std::chrono::seconds
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:120,1
    - Dst: start
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:122,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:125,1
    - Dst: phosphor::host::command::Manager::bus::new_method_call
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:130,1
    - Dst: std::string::c_str
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:130,1
    - Dst: std::string::c_str
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:130,1
    - Dst: std::string::c_str
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:131,1
    - Dst: phosphor::host::command::Manager::bus::call
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:135,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:137,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:141,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 144
    functionName: phosphor::host::command::Manager::checkQueueAndAlertHost
    functionSourceFile: /src/phosphor-host-ipmid/host-cmd-manager.cpp
    functionUses: 3
    functionsReached:
    - phosphor::host::command::Manager::workQueue::size
    - start
    - std::chrono::duration_cast<std::chrono::microseconds>
    - std::string::c_str
    - std::chrono::seconds
    - phosphor::host::command::Manager::bus::new_method_call
    - phosphor::host::command::Manager::bus::call
    - lg2::debug
    - lg2::error
    linkageType: ''
    returnType: void
    signature: void Manager::checkQueueAndAlertHost()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:149,1
    - Dst: std::get<0>
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:150,1
    - Dst: phosphor::host::command::Manager::workQueue::emplace
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:152,1
    - Dst: phosphor::host::command::Manager::workQueue::size
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:156,1
    - Dst: phosphor::host::command::Manager::checkQueueAndAlertHost
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:158,1
    - Dst: lg2::info
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - command
    argTypes:
    - CommandHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 166
    functionName: phosphor::host::command::Manager::execute
    functionSourceFile: /src/phosphor-host-ipmid/host-cmd-manager.cpp
    functionUses: 0
    functionsReached:
    - phosphor::host::command::Manager::workQueue::size
    - phosphor::host::command::Manager::checkQueueAndAlertHost
    - std::get<0>
    - phosphor::host::command::Manager::workQueue::emplace
    - lg2::debug
    - lg2::info
    linkageType: ''
    returnType: void
    signature: void Manager::execute(CommandHandler command)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:175,1
    - Dst: ::ipmi::PropertyMap::find
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:177,1
    - Dst: ::ipmi::PropertyMap::end
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:178,1
    - Dst: std::get<std::string>
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:183,1
    - Dst: ::ipmi::PropertyMap::at
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:184,1
    - Dst: server::Host::convertTransitionFromString
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:186,1
    - Dst: phosphor::host::command::Manager::clearQueue
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:189,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - sdbusplus::message_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 191
    functionName: phosphor::host::command::Manager::clearQueueOnPowerOn
    functionSourceFile: /src/phosphor-host-ipmid/host-cmd-manager.cpp
    functionUses: 0
    functionsReached:
    - ::ipmi::PropertyMap::end
    - read
    - server::Host::convertTransitionFromString
    - ::ipmi::PropertyMap::find
    - ::ipmi::PropertyMap::at
    - phosphor::host::command::Manager::clearQueue
    - std::get<std::string>
    linkageType: ''
    returnType: void
    signature: void Manager::clearQueueOnPowerOn(sdbusplus::message_t& msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::bind
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:34,1
    - Dst: sdbusRule::propertiesChanged
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:37,1
    - Dst: std::bind
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' bus'
    argTypes:
    - sdbusplus::bus_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 42
    functionName: phosphor::host::command::Manager::Manager
    functionSourceFile: /src/phosphor-host-ipmid/host-cmd-manager.cpp
    functionUses: 0
    functionsReached:
    - sdbusRule::propertiesChanged
    - std::bind
    linkageType: ''
    returnType: void
    signature: void Manager::Manager(sdbusplus::bus_t& bus)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stop
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:48,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:51,1
    - Dst: strerror
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:51,1
    - Dst: phosphor::host::command::Manager::workQueue::empty
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:54,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:58,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:60,1
    - Dst: phosphor::host::command::Manager::workQueue::front
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:64,1
    - Dst: phosphor::host::command::Manager::workQueue::pop
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:65,1
    - Dst: std::get<0>
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:68,1
    - Dst: std::get<CallBack>
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:73,1
    - Dst: phosphor::host::command::Manager::checkQueueAndAlertHost
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 80
    functionName: phosphor::host::command::Manager::getNextCommand
    functionSourceFile: /src/phosphor-host-ipmid/host-cmd-manager.cpp
    functionUses: 0
    functionsReached:
    - phosphor::host::command::Manager::workQueue::empty
    - stop
    - strerror
    - phosphor::host::command::Manager::checkQueueAndAlertHost
    - std::make_pair
    - std::get<0>
    - phosphor::host::command::Manager::workQueue::pop
    - lg2::debug
    - phosphor::host::command::Manager::workQueue::front
    - std::get<CallBack>
    - lg2::error
    linkageType: ''
    returnType: IpmiCmdData
    signature: IpmiCmdData Manager::getNextCommand()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:85,1
    - Dst: phosphor::host::command::Manager::clearQueue
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 88
    functionName: phosphor::host::command::Manager::hostTimeout
    functionSourceFile: /src/phosphor-host-ipmid/host-cmd-manager.cpp
    functionUses: 0
    functionsReached:
    - phosphor::host::command::Manager::clearQueue
    - lg2::error
    linkageType: ''
    returnType: void
    signature: void Manager::hostTimeout()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: phosphor::host::command::Manager::workQueue::empty
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:93,1
    - Dst: phosphor::host::command::Manager::workQueue::front
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:95,1
    - Dst: phosphor::host::command::Manager::workQueue::pop
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:96,1
    - Dst: std::get<0>
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:99,1
    - Dst: std::get<CallBack>
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 105
    functionName: phosphor::host::command::Manager::clearQueue
    functionSourceFile: /src/phosphor-host-ipmid/host-cmd-manager.cpp
    functionUses: 5
    functionsReached:
    - phosphor::host::command::Manager::workQueue::empty
    - std::get<0>
    - phosphor::host::command::Manager::workQueue::pop
    - phosphor::host::command::Manager::workQueue::front
    - std::get<CallBack>
    linkageType: ''
    returnType: void
    signature: void Manager::clearQueue()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: phosphor::host::command::Manager::workQueue::size
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:110,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:112,1
    - Dst: std::chrono::duration_cast<std::chrono::microseconds>
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:119,1
    - Dst: std::chrono::seconds
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:120,1
    - Dst: start
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:122,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:125,1
    - Dst: phosphor::host::command::Manager::bus::new_method_call
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:130,1
    - Dst: std::string::c_str
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:130,1
    - Dst: std::string::c_str
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:130,1
    - Dst: std::string::c_str
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:131,1
    - Dst: phosphor::host::command::Manager::bus::call
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:135,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:137,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:141,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 144
    functionName: phosphor::host::command::Manager::checkQueueAndAlertHost
    functionSourceFile: /src/phosphor-host-ipmid/host-cmd-manager.cpp
    functionUses: 5
    functionsReached:
    - phosphor::host::command::Manager::workQueue::size
    - start
    - std::chrono::duration_cast<std::chrono::microseconds>
    - std::string::c_str
    - std::chrono::seconds
    - phosphor::host::command::Manager::bus::new_method_call
    - phosphor::host::command::Manager::bus::call
    - lg2::debug
    - lg2::error
    linkageType: ''
    returnType: void
    signature: void Manager::checkQueueAndAlertHost()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:149,1
    - Dst: std::get<0>
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:150,1
    - Dst: phosphor::host::command::Manager::workQueue::emplace
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:152,1
    - Dst: phosphor::host::command::Manager::workQueue::size
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:156,1
    - Dst: phosphor::host::command::Manager::checkQueueAndAlertHost
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:158,1
    - Dst: lg2::info
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - command
    argTypes:
    - CommandHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 166
    functionName: phosphor::host::command::Manager::execute
    functionSourceFile: /src/phosphor-host-ipmid/host-cmd-manager.cpp
    functionUses: 0
    functionsReached:
    - phosphor::host::command::Manager::workQueue::size
    - phosphor::host::command::Manager::checkQueueAndAlertHost
    - std::get<0>
    - phosphor::host::command::Manager::workQueue::emplace
    - lg2::debug
    - lg2::info
    linkageType: ''
    returnType: void
    signature: void Manager::execute(CommandHandler command)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:175,1
    - Dst: ::ipmi::PropertyMap::find
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:177,1
    - Dst: ::ipmi::PropertyMap::end
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:178,1
    - Dst: std::get<std::string>
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:183,1
    - Dst: ::ipmi::PropertyMap::at
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:184,1
    - Dst: server::Host::convertTransitionFromString
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:186,1
    - Dst: phosphor::host::command::Manager::clearQueue
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:189,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - sdbusplus::message_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 191
    functionName: phosphor::host::command::Manager::clearQueueOnPowerOn
    functionSourceFile: /src/phosphor-host-ipmid/host-cmd-manager.cpp
    functionUses: 0
    functionsReached:
    - ::ipmi::PropertyMap::end
    - read
    - server::Host::convertTransitionFromString
    - ::ipmi::PropertyMap::find
    - ::ipmi::PropertyMap::at
    - phosphor::host::command::Manager::clearQueue
    - std::get<std::string>
    linkageType: ''
    returnType: void
    signature: void Manager::clearQueueOnPowerOn(sdbusplus::message_t& msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::bind
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:34,1
    - Dst: sdbusRule::propertiesChanged
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:37,1
    - Dst: std::bind
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' bus'
    argTypes:
    - sdbusplus::bus_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 42
    functionName: phosphor::host::command::Manager::Manager
    functionSourceFile: /src/phosphor-host-ipmid/host-cmd-manager.cpp
    functionUses: 0
    functionsReached:
    - sdbusRule::propertiesChanged
    - std::bind
    linkageType: ''
    returnType: void
    signature: void Manager::Manager(sdbusplus::bus_t& bus)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stop
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:48,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:51,1
    - Dst: strerror
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:51,1
    - Dst: phosphor::host::command::Manager::workQueue::empty
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:54,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:58,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:60,1
    - Dst: phosphor::host::command::Manager::workQueue::front
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:64,1
    - Dst: phosphor::host::command::Manager::workQueue::pop
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:65,1
    - Dst: std::get<0>
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:68,1
    - Dst: std::get<CallBack>
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:73,1
    - Dst: phosphor::host::command::Manager::checkQueueAndAlertHost
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 80
    functionName: phosphor::host::command::Manager::getNextCommand
    functionSourceFile: /src/phosphor-host-ipmid/host-cmd-manager.cpp
    functionUses: 0
    functionsReached:
    - phosphor::host::command::Manager::workQueue::empty
    - stop
    - strerror
    - phosphor::host::command::Manager::checkQueueAndAlertHost
    - std::make_pair
    - std::get<0>
    - phosphor::host::command::Manager::workQueue::pop
    - lg2::debug
    - phosphor::host::command::Manager::workQueue::front
    - std::get<CallBack>
    - lg2::error
    linkageType: ''
    returnType: IpmiCmdData
    signature: IpmiCmdData Manager::getNextCommand()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:85,1
    - Dst: phosphor::host::command::Manager::clearQueue
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 88
    functionName: phosphor::host::command::Manager::hostTimeout
    functionSourceFile: /src/phosphor-host-ipmid/host-cmd-manager.cpp
    functionUses: 0
    functionsReached:
    - phosphor::host::command::Manager::clearQueue
    - lg2::error
    linkageType: ''
    returnType: void
    signature: void Manager::hostTimeout()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: phosphor::host::command::Manager::workQueue::empty
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:93,1
    - Dst: phosphor::host::command::Manager::workQueue::front
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:95,1
    - Dst: phosphor::host::command::Manager::workQueue::pop
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:96,1
    - Dst: std::get<0>
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:99,1
    - Dst: std::get<CallBack>
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 105
    functionName: phosphor::host::command::Manager::clearQueue
    functionSourceFile: /src/phosphor-host-ipmid/host-cmd-manager.cpp
    functionUses: 7
    functionsReached:
    - phosphor::host::command::Manager::workQueue::empty
    - std::get<0>
    - phosphor::host::command::Manager::workQueue::pop
    - phosphor::host::command::Manager::workQueue::front
    - std::get<CallBack>
    linkageType: ''
    returnType: void
    signature: void Manager::clearQueue()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: phosphor::host::command::Manager::workQueue::size
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:110,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:112,1
    - Dst: std::chrono::duration_cast<std::chrono::microseconds>
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:119,1
    - Dst: std::chrono::seconds
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:120,1
    - Dst: start
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:122,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:125,1
    - Dst: phosphor::host::command::Manager::bus::new_method_call
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:130,1
    - Dst: std::string::c_str
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:130,1
    - Dst: std::string::c_str
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:130,1
    - Dst: std::string::c_str
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:131,1
    - Dst: phosphor::host::command::Manager::bus::call
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:135,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:137,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:141,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 144
    functionName: phosphor::host::command::Manager::checkQueueAndAlertHost
    functionSourceFile: /src/phosphor-host-ipmid/host-cmd-manager.cpp
    functionUses: 7
    functionsReached:
    - phosphor::host::command::Manager::workQueue::size
    - start
    - std::chrono::duration_cast<std::chrono::microseconds>
    - std::string::c_str
    - std::chrono::seconds
    - phosphor::host::command::Manager::bus::new_method_call
    - phosphor::host::command::Manager::bus::call
    - lg2::debug
    - lg2::error
    linkageType: ''
    returnType: void
    signature: void Manager::checkQueueAndAlertHost()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:149,1
    - Dst: std::get<0>
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:150,1
    - Dst: phosphor::host::command::Manager::workQueue::emplace
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:152,1
    - Dst: phosphor::host::command::Manager::workQueue::size
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:156,1
    - Dst: phosphor::host::command::Manager::checkQueueAndAlertHost
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:158,1
    - Dst: lg2::info
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - command
    argTypes:
    - CommandHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 166
    functionName: phosphor::host::command::Manager::execute
    functionSourceFile: /src/phosphor-host-ipmid/host-cmd-manager.cpp
    functionUses: 0
    functionsReached:
    - phosphor::host::command::Manager::workQueue::size
    - phosphor::host::command::Manager::checkQueueAndAlertHost
    - std::get<0>
    - phosphor::host::command::Manager::workQueue::emplace
    - lg2::debug
    - lg2::info
    linkageType: ''
    returnType: void
    signature: void Manager::execute(CommandHandler command)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:175,1
    - Dst: ::ipmi::PropertyMap::find
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:177,1
    - Dst: ::ipmi::PropertyMap::end
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:178,1
    - Dst: std::get<std::string>
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:183,1
    - Dst: ::ipmi::PropertyMap::at
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:184,1
    - Dst: server::Host::convertTransitionFromString
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:186,1
    - Dst: phosphor::host::command::Manager::clearQueue
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:189,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - sdbusplus::message_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 191
    functionName: phosphor::host::command::Manager::clearQueueOnPowerOn
    functionSourceFile: /src/phosphor-host-ipmid/host-cmd-manager.cpp
    functionUses: 0
    functionsReached:
    - ::ipmi::PropertyMap::end
    - read
    - server::Host::convertTransitionFromString
    - ::ipmi::PropertyMap::find
    - ::ipmi::PropertyMap::at
    - phosphor::host::command::Manager::clearQueue
    - std::get<std::string>
    linkageType: ''
    returnType: void
    signature: void Manager::clearQueueOnPowerOn(sdbusplus::message_t& msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::bind
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:34,1
    - Dst: sdbusRule::propertiesChanged
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:37,1
    - Dst: std::bind
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' bus'
    argTypes:
    - sdbusplus::bus_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 42
    functionName: phosphor::host::command::Manager::Manager
    functionSourceFile: /src/phosphor-host-ipmid/host-cmd-manager.cpp
    functionUses: 0
    functionsReached:
    - sdbusRule::propertiesChanged
    - std::bind
    linkageType: ''
    returnType: void
    signature: void Manager::Manager(sdbusplus::bus_t& bus)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stop
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:48,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:51,1
    - Dst: strerror
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:51,1
    - Dst: phosphor::host::command::Manager::workQueue::empty
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:54,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:58,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:60,1
    - Dst: phosphor::host::command::Manager::workQueue::front
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:64,1
    - Dst: phosphor::host::command::Manager::workQueue::pop
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:65,1
    - Dst: std::get<0>
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:68,1
    - Dst: std::get<CallBack>
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:73,1
    - Dst: phosphor::host::command::Manager::checkQueueAndAlertHost
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 80
    functionName: phosphor::host::command::Manager::getNextCommand
    functionSourceFile: /src/phosphor-host-ipmid/host-cmd-manager.cpp
    functionUses: 0
    functionsReached:
    - phosphor::host::command::Manager::workQueue::empty
    - stop
    - strerror
    - phosphor::host::command::Manager::checkQueueAndAlertHost
    - std::make_pair
    - std::get<0>
    - phosphor::host::command::Manager::workQueue::pop
    - lg2::debug
    - phosphor::host::command::Manager::workQueue::front
    - std::get<CallBack>
    - lg2::error
    linkageType: ''
    returnType: IpmiCmdData
    signature: IpmiCmdData Manager::getNextCommand()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:85,1
    - Dst: phosphor::host::command::Manager::clearQueue
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 88
    functionName: phosphor::host::command::Manager::hostTimeout
    functionSourceFile: /src/phosphor-host-ipmid/host-cmd-manager.cpp
    functionUses: 0
    functionsReached:
    - phosphor::host::command::Manager::clearQueue
    - lg2::error
    linkageType: ''
    returnType: void
    signature: void Manager::hostTimeout()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: phosphor::host::command::Manager::workQueue::empty
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:93,1
    - Dst: phosphor::host::command::Manager::workQueue::front
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:95,1
    - Dst: phosphor::host::command::Manager::workQueue::pop
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:96,1
    - Dst: std::get<0>
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:99,1
    - Dst: std::get<CallBack>
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 105
    functionName: phosphor::host::command::Manager::clearQueue
    functionSourceFile: /src/phosphor-host-ipmid/host-cmd-manager.cpp
    functionUses: 9
    functionsReached:
    - phosphor::host::command::Manager::workQueue::empty
    - std::get<0>
    - phosphor::host::command::Manager::workQueue::pop
    - phosphor::host::command::Manager::workQueue::front
    - std::get<CallBack>
    linkageType: ''
    returnType: void
    signature: void Manager::clearQueue()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: phosphor::host::command::Manager::workQueue::size
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:110,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:112,1
    - Dst: std::chrono::duration_cast<std::chrono::microseconds>
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:119,1
    - Dst: std::chrono::seconds
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:120,1
    - Dst: start
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:122,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:125,1
    - Dst: phosphor::host::command::Manager::bus::new_method_call
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:130,1
    - Dst: std::string::c_str
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:130,1
    - Dst: std::string::c_str
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:130,1
    - Dst: std::string::c_str
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:131,1
    - Dst: phosphor::host::command::Manager::bus::call
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:135,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:137,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:141,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 144
    functionName: phosphor::host::command::Manager::checkQueueAndAlertHost
    functionSourceFile: /src/phosphor-host-ipmid/host-cmd-manager.cpp
    functionUses: 9
    functionsReached:
    - phosphor::host::command::Manager::workQueue::size
    - start
    - std::chrono::duration_cast<std::chrono::microseconds>
    - std::string::c_str
    - std::chrono::seconds
    - phosphor::host::command::Manager::bus::new_method_call
    - phosphor::host::command::Manager::bus::call
    - lg2::debug
    - lg2::error
    linkageType: ''
    returnType: void
    signature: void Manager::checkQueueAndAlertHost()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:149,1
    - Dst: std::get<0>
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:150,1
    - Dst: phosphor::host::command::Manager::workQueue::emplace
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:152,1
    - Dst: phosphor::host::command::Manager::workQueue::size
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:156,1
    - Dst: phosphor::host::command::Manager::checkQueueAndAlertHost
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:158,1
    - Dst: lg2::info
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - command
    argTypes:
    - CommandHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 166
    functionName: phosphor::host::command::Manager::execute
    functionSourceFile: /src/phosphor-host-ipmid/host-cmd-manager.cpp
    functionUses: 0
    functionsReached:
    - phosphor::host::command::Manager::workQueue::size
    - phosphor::host::command::Manager::checkQueueAndAlertHost
    - std::get<0>
    - phosphor::host::command::Manager::workQueue::emplace
    - lg2::debug
    - lg2::info
    linkageType: ''
    returnType: void
    signature: void Manager::execute(CommandHandler command)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:175,1
    - Dst: ::ipmi::PropertyMap::find
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:177,1
    - Dst: ::ipmi::PropertyMap::end
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:178,1
    - Dst: std::get<std::string>
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:183,1
    - Dst: ::ipmi::PropertyMap::at
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:184,1
    - Dst: server::Host::convertTransitionFromString
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:186,1
    - Dst: phosphor::host::command::Manager::clearQueue
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:189,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - sdbusplus::message_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 191
    functionName: phosphor::host::command::Manager::clearQueueOnPowerOn
    functionSourceFile: /src/phosphor-host-ipmid/host-cmd-manager.cpp
    functionUses: 0
    functionsReached:
    - ::ipmi::PropertyMap::end
    - read
    - server::Host::convertTransitionFromString
    - ::ipmi::PropertyMap::find
    - ::ipmi::PropertyMap::at
    - phosphor::host::command::Manager::clearQueue
    - std::get<std::string>
    linkageType: ''
    returnType: void
    signature: void Manager::clearQueueOnPowerOn(sdbusplus::message_t& msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::bind
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:34,1
    - Dst: sdbusRule::propertiesChanged
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:37,1
    - Dst: std::bind
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' bus'
    argTypes:
    - sdbusplus::bus_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 42
    functionName: phosphor::host::command::Manager::Manager
    functionSourceFile: /src/phosphor-host-ipmid/host-cmd-manager.cpp
    functionUses: 0
    functionsReached:
    - sdbusRule::propertiesChanged
    - std::bind
    linkageType: ''
    returnType: void
    signature: void Manager::Manager(sdbusplus::bus_t& bus)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stop
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:48,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:51,1
    - Dst: strerror
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:51,1
    - Dst: phosphor::host::command::Manager::workQueue::empty
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:54,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:58,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:60,1
    - Dst: phosphor::host::command::Manager::workQueue::front
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:64,1
    - Dst: phosphor::host::command::Manager::workQueue::pop
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:65,1
    - Dst: std::get<0>
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:68,1
    - Dst: std::get<CallBack>
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:73,1
    - Dst: phosphor::host::command::Manager::checkQueueAndAlertHost
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 80
    functionName: phosphor::host::command::Manager::getNextCommand
    functionSourceFile: /src/phosphor-host-ipmid/host-cmd-manager.cpp
    functionUses: 0
    functionsReached:
    - phosphor::host::command::Manager::workQueue::empty
    - stop
    - strerror
    - phosphor::host::command::Manager::checkQueueAndAlertHost
    - std::make_pair
    - std::get<0>
    - phosphor::host::command::Manager::workQueue::pop
    - lg2::debug
    - phosphor::host::command::Manager::workQueue::front
    - std::get<CallBack>
    - lg2::error
    linkageType: ''
    returnType: IpmiCmdData
    signature: IpmiCmdData Manager::getNextCommand()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:85,1
    - Dst: phosphor::host::command::Manager::clearQueue
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 88
    functionName: phosphor::host::command::Manager::hostTimeout
    functionSourceFile: /src/phosphor-host-ipmid/host-cmd-manager.cpp
    functionUses: 0
    functionsReached:
    - phosphor::host::command::Manager::clearQueue
    - lg2::error
    linkageType: ''
    returnType: void
    signature: void Manager::hostTimeout()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: phosphor::host::command::Manager::workQueue::empty
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:93,1
    - Dst: phosphor::host::command::Manager::workQueue::front
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:95,1
    - Dst: phosphor::host::command::Manager::workQueue::pop
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:96,1
    - Dst: std::get<0>
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:99,1
    - Dst: std::get<CallBack>
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 105
    functionName: phosphor::host::command::Manager::clearQueue
    functionSourceFile: /src/phosphor-host-ipmid/host-cmd-manager.cpp
    functionUses: 11
    functionsReached:
    - phosphor::host::command::Manager::workQueue::empty
    - std::get<0>
    - phosphor::host::command::Manager::workQueue::pop
    - phosphor::host::command::Manager::workQueue::front
    - std::get<CallBack>
    linkageType: ''
    returnType: void
    signature: void Manager::clearQueue()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: phosphor::host::command::Manager::workQueue::size
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:110,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:112,1
    - Dst: std::chrono::duration_cast<std::chrono::microseconds>
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:119,1
    - Dst: std::chrono::seconds
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:120,1
    - Dst: start
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:122,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:125,1
    - Dst: phosphor::host::command::Manager::bus::new_method_call
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:130,1
    - Dst: std::string::c_str
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:130,1
    - Dst: std::string::c_str
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:130,1
    - Dst: std::string::c_str
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:131,1
    - Dst: phosphor::host::command::Manager::bus::call
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:135,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:137,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:141,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 144
    functionName: phosphor::host::command::Manager::checkQueueAndAlertHost
    functionSourceFile: /src/phosphor-host-ipmid/host-cmd-manager.cpp
    functionUses: 11
    functionsReached:
    - phosphor::host::command::Manager::workQueue::size
    - start
    - std::chrono::duration_cast<std::chrono::microseconds>
    - std::string::c_str
    - std::chrono::seconds
    - phosphor::host::command::Manager::bus::new_method_call
    - phosphor::host::command::Manager::bus::call
    - lg2::debug
    - lg2::error
    linkageType: ''
    returnType: void
    signature: void Manager::checkQueueAndAlertHost()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:149,1
    - Dst: std::get<0>
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:150,1
    - Dst: phosphor::host::command::Manager::workQueue::emplace
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:152,1
    - Dst: phosphor::host::command::Manager::workQueue::size
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:156,1
    - Dst: phosphor::host::command::Manager::checkQueueAndAlertHost
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:158,1
    - Dst: lg2::info
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - command
    argTypes:
    - CommandHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 166
    functionName: phosphor::host::command::Manager::execute
    functionSourceFile: /src/phosphor-host-ipmid/host-cmd-manager.cpp
    functionUses: 0
    functionsReached:
    - phosphor::host::command::Manager::workQueue::size
    - phosphor::host::command::Manager::checkQueueAndAlertHost
    - std::get<0>
    - phosphor::host::command::Manager::workQueue::emplace
    - lg2::debug
    - lg2::info
    linkageType: ''
    returnType: void
    signature: void Manager::execute(CommandHandler command)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:175,1
    - Dst: ::ipmi::PropertyMap::find
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:177,1
    - Dst: ::ipmi::PropertyMap::end
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:178,1
    - Dst: std::get<std::string>
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:183,1
    - Dst: ::ipmi::PropertyMap::at
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:184,1
    - Dst: server::Host::convertTransitionFromString
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:186,1
    - Dst: phosphor::host::command::Manager::clearQueue
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:189,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - sdbusplus::message_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 191
    functionName: phosphor::host::command::Manager::clearQueueOnPowerOn
    functionSourceFile: /src/phosphor-host-ipmid/host-cmd-manager.cpp
    functionUses: 0
    functionsReached:
    - ::ipmi::PropertyMap::end
    - read
    - server::Host::convertTransitionFromString
    - ::ipmi::PropertyMap::find
    - ::ipmi::PropertyMap::at
    - phosphor::host::command::Manager::clearQueue
    - std::get<std::string>
    linkageType: ''
    returnType: void
    signature: void Manager::clearQueueOnPowerOn(sdbusplus::message_t& msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::bind
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:34,1
    - Dst: sdbusRule::propertiesChanged
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:37,1
    - Dst: std::bind
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' bus'
    argTypes:
    - sdbusplus::bus_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 42
    functionName: phosphor::host::command::Manager::Manager
    functionSourceFile: /src/phosphor-host-ipmid/host-cmd-manager.cpp
    functionUses: 0
    functionsReached:
    - sdbusRule::propertiesChanged
    - std::bind
    linkageType: ''
    returnType: void
    signature: void Manager::Manager(sdbusplus::bus_t& bus)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stop
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:48,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:51,1
    - Dst: strerror
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:51,1
    - Dst: phosphor::host::command::Manager::workQueue::empty
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:54,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:58,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:60,1
    - Dst: phosphor::host::command::Manager::workQueue::front
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:64,1
    - Dst: phosphor::host::command::Manager::workQueue::pop
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:65,1
    - Dst: std::get<0>
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:68,1
    - Dst: std::get<CallBack>
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:73,1
    - Dst: phosphor::host::command::Manager::checkQueueAndAlertHost
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 80
    functionName: phosphor::host::command::Manager::getNextCommand
    functionSourceFile: /src/phosphor-host-ipmid/host-cmd-manager.cpp
    functionUses: 0
    functionsReached:
    - phosphor::host::command::Manager::workQueue::empty
    - stop
    - strerror
    - phosphor::host::command::Manager::checkQueueAndAlertHost
    - std::make_pair
    - std::get<0>
    - phosphor::host::command::Manager::workQueue::pop
    - lg2::debug
    - phosphor::host::command::Manager::workQueue::front
    - std::get<CallBack>
    - lg2::error
    linkageType: ''
    returnType: IpmiCmdData
    signature: IpmiCmdData Manager::getNextCommand()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:85,1
    - Dst: phosphor::host::command::Manager::clearQueue
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 88
    functionName: phosphor::host::command::Manager::hostTimeout
    functionSourceFile: /src/phosphor-host-ipmid/host-cmd-manager.cpp
    functionUses: 0
    functionsReached:
    - phosphor::host::command::Manager::clearQueue
    - lg2::error
    linkageType: ''
    returnType: void
    signature: void Manager::hostTimeout()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: phosphor::host::command::Manager::workQueue::empty
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:93,1
    - Dst: phosphor::host::command::Manager::workQueue::front
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:95,1
    - Dst: phosphor::host::command::Manager::workQueue::pop
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:96,1
    - Dst: std::get<0>
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:99,1
    - Dst: std::get<CallBack>
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 105
    functionName: phosphor::host::command::Manager::clearQueue
    functionSourceFile: /src/phosphor-host-ipmid/host-cmd-manager.cpp
    functionUses: 13
    functionsReached:
    - phosphor::host::command::Manager::workQueue::empty
    - std::get<0>
    - phosphor::host::command::Manager::workQueue::pop
    - phosphor::host::command::Manager::workQueue::front
    - std::get<CallBack>
    linkageType: ''
    returnType: void
    signature: void Manager::clearQueue()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: phosphor::host::command::Manager::workQueue::size
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:110,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:112,1
    - Dst: std::chrono::duration_cast<std::chrono::microseconds>
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:119,1
    - Dst: std::chrono::seconds
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:120,1
    - Dst: start
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:122,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:125,1
    - Dst: phosphor::host::command::Manager::bus::new_method_call
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:130,1
    - Dst: std::string::c_str
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:130,1
    - Dst: std::string::c_str
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:130,1
    - Dst: std::string::c_str
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:131,1
    - Dst: phosphor::host::command::Manager::bus::call
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:135,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:137,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:141,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 144
    functionName: phosphor::host::command::Manager::checkQueueAndAlertHost
    functionSourceFile: /src/phosphor-host-ipmid/host-cmd-manager.cpp
    functionUses: 13
    functionsReached:
    - phosphor::host::command::Manager::workQueue::size
    - start
    - std::chrono::duration_cast<std::chrono::microseconds>
    - std::string::c_str
    - std::chrono::seconds
    - phosphor::host::command::Manager::bus::new_method_call
    - phosphor::host::command::Manager::bus::call
    - lg2::debug
    - lg2::error
    linkageType: ''
    returnType: void
    signature: void Manager::checkQueueAndAlertHost()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:149,1
    - Dst: std::get<0>
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:150,1
    - Dst: phosphor::host::command::Manager::workQueue::emplace
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:152,1
    - Dst: phosphor::host::command::Manager::workQueue::size
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:156,1
    - Dst: phosphor::host::command::Manager::checkQueueAndAlertHost
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:158,1
    - Dst: lg2::info
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - command
    argTypes:
    - CommandHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 166
    functionName: phosphor::host::command::Manager::execute
    functionSourceFile: /src/phosphor-host-ipmid/host-cmd-manager.cpp
    functionUses: 0
    functionsReached:
    - phosphor::host::command::Manager::workQueue::size
    - phosphor::host::command::Manager::checkQueueAndAlertHost
    - std::get<0>
    - phosphor::host::command::Manager::workQueue::emplace
    - lg2::debug
    - lg2::info
    linkageType: ''
    returnType: void
    signature: void Manager::execute(CommandHandler command)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:175,1
    - Dst: ::ipmi::PropertyMap::find
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:177,1
    - Dst: ::ipmi::PropertyMap::end
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:178,1
    - Dst: std::get<std::string>
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:183,1
    - Dst: ::ipmi::PropertyMap::at
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:184,1
    - Dst: server::Host::convertTransitionFromString
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:186,1
    - Dst: phosphor::host::command::Manager::clearQueue
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:189,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - sdbusplus::message_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 191
    functionName: phosphor::host::command::Manager::clearQueueOnPowerOn
    functionSourceFile: /src/phosphor-host-ipmid/host-cmd-manager.cpp
    functionUses: 0
    functionsReached:
    - ::ipmi::PropertyMap::end
    - read
    - server::Host::convertTransitionFromString
    - ::ipmi::PropertyMap::find
    - ::ipmi::PropertyMap::at
    - phosphor::host::command::Manager::clearQueue
    - std::get<std::string>
    linkageType: ''
    returnType: void
    signature: void Manager::clearQueueOnPowerOn(sdbusplus::message_t& msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::bind
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:34,1
    - Dst: sdbusRule::propertiesChanged
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:37,1
    - Dst: std::bind
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' bus'
    argTypes:
    - sdbusplus::bus_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 42
    functionName: phosphor::host::command::Manager::Manager
    functionSourceFile: /src/phosphor-host-ipmid/host-cmd-manager.cpp
    functionUses: 0
    functionsReached:
    - sdbusRule::propertiesChanged
    - std::bind
    linkageType: ''
    returnType: void
    signature: void Manager::Manager(sdbusplus::bus_t& bus)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stop
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:48,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:51,1
    - Dst: strerror
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:51,1
    - Dst: phosphor::host::command::Manager::workQueue::empty
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:54,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:58,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:60,1
    - Dst: phosphor::host::command::Manager::workQueue::front
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:64,1
    - Dst: phosphor::host::command::Manager::workQueue::pop
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:65,1
    - Dst: std::get<0>
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:68,1
    - Dst: std::get<CallBack>
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:73,1
    - Dst: phosphor::host::command::Manager::checkQueueAndAlertHost
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 80
    functionName: phosphor::host::command::Manager::getNextCommand
    functionSourceFile: /src/phosphor-host-ipmid/host-cmd-manager.cpp
    functionUses: 0
    functionsReached:
    - phosphor::host::command::Manager::workQueue::empty
    - stop
    - strerror
    - phosphor::host::command::Manager::checkQueueAndAlertHost
    - std::make_pair
    - std::get<0>
    - phosphor::host::command::Manager::workQueue::pop
    - lg2::debug
    - phosphor::host::command::Manager::workQueue::front
    - std::get<CallBack>
    - lg2::error
    linkageType: ''
    returnType: IpmiCmdData
    signature: IpmiCmdData Manager::getNextCommand()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:85,1
    - Dst: phosphor::host::command::Manager::clearQueue
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 88
    functionName: phosphor::host::command::Manager::hostTimeout
    functionSourceFile: /src/phosphor-host-ipmid/host-cmd-manager.cpp
    functionUses: 0
    functionsReached:
    - phosphor::host::command::Manager::clearQueue
    - lg2::error
    linkageType: ''
    returnType: void
    signature: void Manager::hostTimeout()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: phosphor::host::command::Manager::workQueue::empty
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:93,1
    - Dst: phosphor::host::command::Manager::workQueue::front
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:95,1
    - Dst: phosphor::host::command::Manager::workQueue::pop
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:96,1
    - Dst: std::get<0>
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:99,1
    - Dst: std::get<CallBack>
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 105
    functionName: phosphor::host::command::Manager::clearQueue
    functionSourceFile: /src/phosphor-host-ipmid/host-cmd-manager.cpp
    functionUses: 15
    functionsReached:
    - phosphor::host::command::Manager::workQueue::empty
    - std::get<0>
    - phosphor::host::command::Manager::workQueue::pop
    - phosphor::host::command::Manager::workQueue::front
    - std::get<CallBack>
    linkageType: ''
    returnType: void
    signature: void Manager::clearQueue()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: phosphor::host::command::Manager::workQueue::size
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:110,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:112,1
    - Dst: std::chrono::duration_cast<std::chrono::microseconds>
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:119,1
    - Dst: std::chrono::seconds
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:120,1
    - Dst: start
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:122,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:125,1
    - Dst: phosphor::host::command::Manager::bus::new_method_call
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:130,1
    - Dst: std::string::c_str
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:130,1
    - Dst: std::string::c_str
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:130,1
    - Dst: std::string::c_str
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:131,1
    - Dst: phosphor::host::command::Manager::bus::call
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:135,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:137,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:141,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 144
    functionName: phosphor::host::command::Manager::checkQueueAndAlertHost
    functionSourceFile: /src/phosphor-host-ipmid/host-cmd-manager.cpp
    functionUses: 15
    functionsReached:
    - phosphor::host::command::Manager::workQueue::size
    - start
    - std::chrono::duration_cast<std::chrono::microseconds>
    - std::string::c_str
    - std::chrono::seconds
    - phosphor::host::command::Manager::bus::new_method_call
    - phosphor::host::command::Manager::bus::call
    - lg2::debug
    - lg2::error
    linkageType: ''
    returnType: void
    signature: void Manager::checkQueueAndAlertHost()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:149,1
    - Dst: std::get<0>
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:150,1
    - Dst: phosphor::host::command::Manager::workQueue::emplace
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:152,1
    - Dst: phosphor::host::command::Manager::workQueue::size
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:156,1
    - Dst: phosphor::host::command::Manager::checkQueueAndAlertHost
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:158,1
    - Dst: lg2::info
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - command
    argTypes:
    - CommandHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 166
    functionName: phosphor::host::command::Manager::execute
    functionSourceFile: /src/phosphor-host-ipmid/host-cmd-manager.cpp
    functionUses: 0
    functionsReached:
    - phosphor::host::command::Manager::workQueue::size
    - phosphor::host::command::Manager::checkQueueAndAlertHost
    - std::get<0>
    - phosphor::host::command::Manager::workQueue::emplace
    - lg2::debug
    - lg2::info
    linkageType: ''
    returnType: void
    signature: void Manager::execute(CommandHandler command)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:175,1
    - Dst: ::ipmi::PropertyMap::find
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:177,1
    - Dst: ::ipmi::PropertyMap::end
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:178,1
    - Dst: std::get<std::string>
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:183,1
    - Dst: ::ipmi::PropertyMap::at
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:184,1
    - Dst: server::Host::convertTransitionFromString
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:186,1
    - Dst: phosphor::host::command::Manager::clearQueue
      Src: /src/phosphor-host-ipmid/host-cmd-manager.cpp:189,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - sdbusplus::message_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 191
    functionName: phosphor::host::command::Manager::clearQueueOnPowerOn
    functionSourceFile: /src/phosphor-host-ipmid/host-cmd-manager.cpp
    functionUses: 0
    functionsReached:
    - ::ipmi::PropertyMap::end
    - read
    - server::Host::convertTransitionFromString
    - ::ipmi::PropertyMap::find
    - ::ipmi::PropertyMap::at
    - phosphor::host::command::Manager::clearQueue
    - std::get<std::string>
    linkageType: ''
    returnType: void
    signature: void Manager::clearQueueOnPowerOn(sdbusplus::message_t& msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::setfill
      Src: /src/phosphor-host-ipmid/selutility.hpp:167,1
    - Dst: std::setw
      Src: /src/phosphor-host-ipmid/selutility.hpp:170,1
    - Dst: static_cast<int>
      Src: /src/phosphor-host-ipmid/selutility.hpp:170,1
    - Dst: std::stringstream::str
      Src: /src/phosphor-host-ipmid/selutility.hpp:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 173
    functionName: ipmi::sel::toHexStr
    functionSourceFile: /src/phosphor-host-ipmid/selutility.hpp
    functionUses: 1
    functionsReached:
    - std::stringstream::str
    - std::setfill
    - static_cast<int>
    - std::setw
    linkageType: ''
    returnType: std::string
    signature: std::string toHexStr(const T& data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::setfill
      Src: /src/phosphor-host-ipmid/selutility.hpp:167,1
    - Dst: std::setw
      Src: /src/phosphor-host-ipmid/selutility.hpp:170,1
    - Dst: static_cast<int>
      Src: /src/phosphor-host-ipmid/selutility.hpp:170,1
    - Dst: std::stringstream::str
      Src: /src/phosphor-host-ipmid/selutility.hpp:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 173
    functionName: ipmi::sel::toHexStr
    functionSourceFile: /src/phosphor-host-ipmid/selutility.hpp
    functionUses: 1
    functionsReached:
    - std::stringstream::str
    - std::setfill
    - static_cast<int>
    - std::setw
    linkageType: ''
    returnType: std::string
    signature: std::string toHexStr(const T& data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::setfill
      Src: /src/phosphor-host-ipmid/selutility.hpp:167,1
    - Dst: std::setw
      Src: /src/phosphor-host-ipmid/selutility.hpp:170,1
    - Dst: static_cast<int>
      Src: /src/phosphor-host-ipmid/selutility.hpp:170,1
    - Dst: std::stringstream::str
      Src: /src/phosphor-host-ipmid/selutility.hpp:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 173
    functionName: ipmi::sel::toHexStr
    functionSourceFile: /src/phosphor-host-ipmid/selutility.hpp
    functionUses: 1
    functionsReached:
    - std::stringstream::str
    - std::setfill
    - static_cast<int>
    - std::setw
    linkageType: ''
    returnType: std::string
    signature: std::string toHexStr(const T& data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::setfill
      Src: /src/phosphor-host-ipmid/selutility.hpp:167,1
    - Dst: std::setw
      Src: /src/phosphor-host-ipmid/selutility.hpp:170,1
    - Dst: static_cast<int>
      Src: /src/phosphor-host-ipmid/selutility.hpp:170,1
    - Dst: std::stringstream::str
      Src: /src/phosphor-host-ipmid/selutility.hpp:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 173
    functionName: ipmi::sel::toHexStr
    functionSourceFile: /src/phosphor-host-ipmid/selutility.hpp
    functionUses: 1
    functionsReached:
    - std::stringstream::str
    - std::setfill
    - static_cast<int>
    - std::setw
    linkageType: ''
    returnType: std::string
    signature: std::string toHexStr(const T& data)
  - 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: settings::Objects
    functionSourceFile: /src/phosphor-host-ipmid/settings.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Objects(const Objects&)
  - 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 Objects&)'
    functionSourceFile: /src/phosphor-host-ipmid/settings.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Objects
    signature: Objects & operator=(const Objects&)
  - 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: settings::Objects
    functionSourceFile: /src/phosphor-host-ipmid/settings.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Objects(Objects&&)
  - 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: '& operator=(Objects&&)'
    functionSourceFile: /src/phosphor-host-ipmid/settings.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Objects
    signature: Objects & operator=(Objects&&)
  - 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: ~Objects()
    functionSourceFile: /src/phosphor-host-ipmid/settings.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Objects()
  - 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: settings::Objects
    functionSourceFile: /src/phosphor-host-ipmid/settings.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Objects(const Objects&)
  - 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 Objects&)'
    functionSourceFile: /src/phosphor-host-ipmid/settings.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Objects
    signature: Objects & operator=(const Objects&)
  - 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: settings::Objects
    functionSourceFile: /src/phosphor-host-ipmid/settings.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Objects(Objects&&)
  - 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: '& operator=(Objects&&)'
    functionSourceFile: /src/phosphor-host-ipmid/settings.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Objects
    signature: Objects & operator=(Objects&&)
  - 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: ~Objects()
    functionSourceFile: /src/phosphor-host-ipmid/settings.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Objects()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getSubTree
      Src: /src/phosphor-host-ipmid/settings.cpp:24,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/settings.cpp:28,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/settings.cpp:29,1
    - Dst: contains
      Src: /src/phosphor-host-ipmid/settings.cpp:35,1
    - Dst: emplace
      Src: /src/phosphor-host-ipmid/settings.cpp:37,1
    - Dst: second::begin
      Src: /src/phosphor-host-ipmid/settings.cpp:37,1
    - Dst: second::begin
      Src: /src/phosphor-host-ipmid/settings.cpp:40,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/settings.cpp:42,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/settings.cpp:43,1
    - Dst: push_back
      Src: /src/phosphor-host-ipmid/settings.cpp:46,1
    - Dst: emplace
      Src: /src/phosphor-host-ipmid/settings.cpp:50,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/settings.cpp:50,1
    - Dst: std::vector<Path>
      Src: /src/phosphor-host-ipmid/settings.cpp:50,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - ' bus'
    - ' filter'
    argTypes:
    - sdbusplus::bus_t
    - std::vector<Interface>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 54
    functionName: settings::Objects::Objects
    functionSourceFile: /src/phosphor-host-ipmid/settings.cpp
    functionUses: 0
    functionsReached:
    - second::begin
    - find
    - std::move
    - emplace
    - std::vector<Path>
    - contains
    - ipmi::getSubTree
    - end
    - elog<InternalFailure>
    - push_back
    - lg2::error
    linkageType: ''
    returnType: void
    signature: void Objects::Objects(sdbusplus::bus_t& bus, const std::vector<Interface>&
      filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_method_call
      Src: /src/phosphor-host-ipmid/settings.cpp:59,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/settings.cpp:62,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/settings.cpp:63,1
    - Dst: Interfaces
      Src: /src/phosphor-host-ipmid/settings.cpp:63,1
    - Dst: call
      Src: /src/phosphor-host-ipmid/settings.cpp:68,1
    - Dst: auto::read
      Src: /src/phosphor-host-ipmid/settings.cpp:69,1
    - Dst: std::map::begin
      Src: /src/phosphor-host-ipmid/settings.cpp:70,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/settings.cpp:74,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/settings.cpp:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - ' path'
    - ' interface'
    argTypes:
    - Path
    - Interface
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 77
    functionName: settings::Objects::service
    functionSourceFile: /src/phosphor-host-ipmid/settings.cpp
    functionUses: 0
    functionsReached:
    - call
    - auto::append
    - auto::read
    - Interfaces
    - elog<InternalFailure>
    - new_method_call
    - lg2::error
    - std::map::begin
    linkageType: ''
    returnType: Service
    signature: Service Objects::service(const Path& path, const Interface& interface)
      const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getSubTree
      Src: /src/phosphor-host-ipmid/settings.cpp:24,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/settings.cpp:28,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/settings.cpp:29,1
    - Dst: contains
      Src: /src/phosphor-host-ipmid/settings.cpp:35,1
    - Dst: emplace
      Src: /src/phosphor-host-ipmid/settings.cpp:37,1
    - Dst: second::begin
      Src: /src/phosphor-host-ipmid/settings.cpp:37,1
    - Dst: second::begin
      Src: /src/phosphor-host-ipmid/settings.cpp:40,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/settings.cpp:42,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/settings.cpp:43,1
    - Dst: push_back
      Src: /src/phosphor-host-ipmid/settings.cpp:46,1
    - Dst: emplace
      Src: /src/phosphor-host-ipmid/settings.cpp:50,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/settings.cpp:50,1
    - Dst: std::vector<Path>
      Src: /src/phosphor-host-ipmid/settings.cpp:50,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - ' bus'
    - ' filter'
    argTypes:
    - sdbusplus::bus_t
    - std::vector<Interface>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 54
    functionName: settings::Objects::Objects
    functionSourceFile: /src/phosphor-host-ipmid/settings.cpp
    functionUses: 0
    functionsReached:
    - second::begin
    - find
    - std::move
    - emplace
    - std::vector<Path>
    - contains
    - ipmi::getSubTree
    - end
    - elog<InternalFailure>
    - push_back
    - lg2::error
    linkageType: ''
    returnType: void
    signature: void Objects::Objects(sdbusplus::bus_t& bus, const std::vector<Interface>&
      filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_method_call
      Src: /src/phosphor-host-ipmid/settings.cpp:59,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/settings.cpp:62,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/settings.cpp:63,1
    - Dst: Interfaces
      Src: /src/phosphor-host-ipmid/settings.cpp:63,1
    - Dst: call
      Src: /src/phosphor-host-ipmid/settings.cpp:68,1
    - Dst: auto::read
      Src: /src/phosphor-host-ipmid/settings.cpp:69,1
    - Dst: std::map::begin
      Src: /src/phosphor-host-ipmid/settings.cpp:70,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/settings.cpp:74,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/settings.cpp:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - ' path'
    - ' interface'
    argTypes:
    - Path
    - Interface
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 77
    functionName: settings::Objects::service
    functionSourceFile: /src/phosphor-host-ipmid/settings.cpp
    functionUses: 0
    functionsReached:
    - call
    - auto::append
    - auto::read
    - Interfaces
    - elog<InternalFailure>
    - new_method_call
    - lg2::error
    - std::map::begin
    linkageType: ''
    returnType: Service
    signature: Service Objects::service(const Path& path, const Interface& interface)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Assertion>
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:26,1
    - Dst: static_cast<Deassertion>
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:29,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' cmdData'
    argTypes:
    - SetSensorReadingReq
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 32
    functionName: ipmi::sensor::getAssertionSet
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 0
    functionsReached:
    - static_cast<Assertion>
    - static_cast<Deassertion>
    - std::make_pair
    linkageType: ''
    returnType: AssertionSet
    signature: AssertionSet getAssertionSet(const SetSensorReadingReq& cmdData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmid_get_sd_bus_connection
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:36,1
    - Dst: sdbusplus::bus_t::call
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:39,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:43,1
    - Dst: commit<InternalFailure>
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - IpmiUpdateData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 48
    functionName: ipmi::sensor::updateToDbus
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 0
    functionsReached:
    - ipmid_get_sd_bus_connection
    - commit<InternalFailure>
    - lg2::error
    - sdbusplus::bus_t::call
    linkageType: ''
    returnType: ipmi::Cc
    signature: ipmi::Cc updateToDbus(IpmiUpdateData& msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sensorPath::find_last_of
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:55,1
    - Dst: sensorPath::substr
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:56,1
    - Dst: sensorPath::substr
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:58,1
    - Dst: auto::find_last_of
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:60,1
    - Dst: auto::substr
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' sensorInfo'
    argTypes:
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 65
    functionName: ipmi::sensor::get::nameParentLeaf
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 0
    functionsReached:
    - auto::substr
    - sensorPath::find_last_of
    - sensorPath::substr
    - auto::find_last_of
    linkageType: ''
    returnType: SensorName
    signature: SensorName nameParentLeaf(const Info& sensorInfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmid_get_sd_bus_connection
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:71,1
    - Dst: enableScanning
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:74,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:76,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:87,1
    - Dst: std::get<OffsetValueMap>
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:89,1
    - Dst: setOffset
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:93,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:100,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - ' sensorInfo'
    - ' path'
    - ' interface'
    argTypes:
    - Info
    - InstancePath
    - DbusInterface
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 110
    functionName: ipmi::sensor::get::mapDbusToAssertion
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 0
    functionsReached:
    - std::get<OffsetValueMap>
    - enableScanning
    - ipmi::getService
    - ipmid_get_sd_bus_connection
    - setOffset
    - ipmi::getDbusProperty
    - lg2::error
    linkageType: ''
    returnType: GetSensorResponse
    signature: "GetSensorResponse mapDbusToAssertion(const Info& sensorInfo,\n                                     const
      InstancePath& path,\n                                     const DbusInterface&
      interface)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmid_get_sd_bus_connection
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:114,1
    - Dst: enableScanning
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:117,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:119,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:130,1
    - Dst: std::get<OffsetValueMap>
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:133,1
    - Dst: setReading
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:137,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:144,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - ' sensorInfo'
    argTypes:
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 154
    functionName: ipmi::sensor::get::mapDbusToEventdata2
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 0
    functionsReached:
    - std::get<OffsetValueMap>
    - enableScanning
    - ipmi::getService
    - ipmid_get_sd_bus_connection
    - setReading
    - ipmi::getDbusProperty
    - lg2::error
    linkageType: ''
    returnType: GetSensorResponse
    signature: GetSensorResponse mapDbusToEventdata2(const Info& sensorInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::get::mapDbusToAssertion
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' sensorInfo'
    argTypes:
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 161
    functionName: ipmi::sensor::get::assertion
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::sensor::get::mapDbusToAssertion
    linkageType: ''
    returnType: GetSensorResponse
    signature: GetSensorResponse assertion(const Info& sensorInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::get::mapDbusToEventdata2
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' sensorInfo'
    argTypes:
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: ipmi::sensor::get::eventdata2
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::sensor::get::mapDbusToEventdata2
    linkageType: ''
    returnType: GetSensorResponse
    signature: GetSensorResponse eventdata2(const Info& sensorInfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::get::mapDbusToAssertion
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:173,1
    - Dst: has_value
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - id
    - ' sensorInfo'
    argTypes:
    - uint8_t
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 168
    functionDepth: 2
    functionLinenumber: 168
    functionLinenumberEnd: 182
    functionName: ipmi::sensor::get::assertion
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 0
    functionsReached:
    - has_value
    - ipmi::sensor::get::mapDbusToAssertion
    linkageType: ''
    returnType: std::optional<GetSensorResponse>
    signature: "std::optional<GetSensorResponse> assertion(uint8_t id, const Info&
      sensorInfo,\n                                           const PropertyMap& /*properties*/)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::get::mapDbusToEventdata2
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:189,1
    - Dst: has_value
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - id
    - ' sensorInfo'
    argTypes:
    - uint8_t
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 184
    functionDepth: 2
    functionLinenumber: 184
    functionLinenumberEnd: 197
    functionName: ipmi::sensor::get::eventdata2
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::sensor::get::mapDbusToEventdata2
    - has_value
    linkageType: ''
    returnType: std::optional<GetSensorResponse>
    signature: "std::optional<GetSensorResponse> eventdata2(uint8_t id, const Info&
      sensorInfo,\n                                            const PropertyMap&
      /*properties*/)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sensorPath::find_last_of
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:55,1
    - Dst: sensorPath::substr
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:56,1
    - Dst: sensorPath::substr
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:58,1
    - Dst: auto::find_last_of
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:60,1
    - Dst: auto::substr
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' sensorInfo'
    argTypes:
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 65
    functionName: ipmi::sensor::get::nameParentLeaf
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 0
    functionsReached:
    - auto::substr
    - sensorPath::find_last_of
    - sensorPath::substr
    - auto::find_last_of
    linkageType: ''
    returnType: SensorName
    signature: SensorName nameParentLeaf(const Info& sensorInfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmid_get_sd_bus_connection
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:71,1
    - Dst: enableScanning
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:74,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:76,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:87,1
    - Dst: std::get<OffsetValueMap>
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:89,1
    - Dst: setOffset
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:93,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:100,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - ' sensorInfo'
    - ' path'
    - ' interface'
    argTypes:
    - Info
    - InstancePath
    - DbusInterface
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 110
    functionName: ipmi::sensor::get::mapDbusToAssertion
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 2
    functionsReached:
    - std::get<OffsetValueMap>
    - enableScanning
    - ipmi::getService
    - ipmid_get_sd_bus_connection
    - setOffset
    - ipmi::getDbusProperty
    - lg2::error
    linkageType: ''
    returnType: GetSensorResponse
    signature: "GetSensorResponse mapDbusToAssertion(const Info& sensorInfo,\n                                     const
      InstancePath& path,\n                                     const DbusInterface&
      interface)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmid_get_sd_bus_connection
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:114,1
    - Dst: enableScanning
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:117,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:119,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:130,1
    - Dst: std::get<OffsetValueMap>
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:133,1
    - Dst: setReading
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:137,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:144,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - ' sensorInfo'
    argTypes:
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 154
    functionName: ipmi::sensor::get::mapDbusToEventdata2
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 2
    functionsReached:
    - std::get<OffsetValueMap>
    - enableScanning
    - ipmi::getService
    - ipmid_get_sd_bus_connection
    - setReading
    - ipmi::getDbusProperty
    - lg2::error
    linkageType: ''
    returnType: GetSensorResponse
    signature: GetSensorResponse mapDbusToEventdata2(const Info& sensorInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::get::mapDbusToAssertion
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' sensorInfo'
    argTypes:
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 161
    functionName: ipmi::sensor::get::assertion
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::sensor::get::mapDbusToAssertion
    linkageType: ''
    returnType: GetSensorResponse
    signature: GetSensorResponse assertion(const Info& sensorInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::get::mapDbusToEventdata2
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' sensorInfo'
    argTypes:
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: ipmi::sensor::get::eventdata2
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::sensor::get::mapDbusToEventdata2
    linkageType: ''
    returnType: GetSensorResponse
    signature: GetSensorResponse eventdata2(const Info& sensorInfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::get::mapDbusToAssertion
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:173,1
    - Dst: has_value
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - id
    - ' sensorInfo'
    argTypes:
    - uint8_t
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 168
    functionDepth: 2
    functionLinenumber: 168
    functionLinenumberEnd: 182
    functionName: ipmi::sensor::get::assertion
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 0
    functionsReached:
    - has_value
    - ipmi::sensor::get::mapDbusToAssertion
    linkageType: ''
    returnType: std::optional<GetSensorResponse>
    signature: "std::optional<GetSensorResponse> assertion(uint8_t id, const Info&
      sensorInfo,\n                                           const PropertyMap& /*properties*/)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::get::mapDbusToEventdata2
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:189,1
    - Dst: has_value
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - id
    - ' sensorInfo'
    argTypes:
    - uint8_t
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 184
    functionDepth: 2
    functionLinenumber: 184
    functionLinenumberEnd: 197
    functionName: ipmi::sensor::get::eventdata2
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::sensor::get::mapDbusToEventdata2
    - has_value
    linkageType: ''
    returnType: std::optional<GetSensorResponse>
    signature: "std::optional<GetSensorResponse> eventdata2(uint8_t id, const Info&
      sensorInfo,\n                                            const PropertyMap&
      /*properties*/)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmid_get_sd_bus_connection
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:211,1
    - Dst: getService
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:214,1
    - Dst: sdbusplus::bus_t::new_method_call
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:216,1
    - Dst: auto::c_str
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:216,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:216,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:217,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' updateInterface'
    - ' sensorPath'
    - ' command'
    - ' sensorInterface'
    argTypes:
    - std::string
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 218
    functionName: ipmi::sensor::set::makeDbusMsg
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 16
    functionsReached:
    - auto::c_str
    - ipmid_get_sd_bus_connection
    - c_str
    - getService
    - sdbusplus::bus_t::new_method_call
    linkageType: ''
    returnType: IpmiUpdateData
    signature: "IpmiUpdateData makeDbusMsg(const std::string& updateInterface,\n                           const
      std::string& sensorPath,\n                           const std::string& command,\n
      \                          const std::string& sensorInterface)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::set::makeDbusMsg
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:224,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:227,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:228,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:231,1
    - Dst: std::get<OffsetValueMap>
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:232,1
    - Dst: std::get<OffsetValueMap>
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:233,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:235,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:238,1
    - Dst: updateToDbus
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:240,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' sensorInfo'
    - data
    argTypes:
    - Info
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 220
    functionDepth: 2
    functionLinenumber: 220
    functionLinenumberEnd: 241
    functionName: ipmi::sensor::set::eventdata
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 24
    functionsReached:
    - std::get<OffsetValueMap>
    - auto::append
    - propertyInterfaces::begin
    - updateToDbus
    - ipmi::sensor::set::makeDbusMsg
    - lg2::error
    linkageType: ''
    returnType: ipmi::Cc
    signature: "ipmi::Cc eventdata(const SetSensorReadingReq&, const Info& sensorInfo,\n
      \                  uint8_t data)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getAssertionSet
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:245,1
    - Dst: getAssertionSet
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:246,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:249,1
    - Dst: std::get<OffsetValueMap>
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:254,1
    - Dst: auto::size
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:256,1
    - Dst: auto::test
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:256,1
    - Dst: std::bitset::test
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:262,1
    - Dst: std::bitset::test
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:267,1
    - Dst: ipmi::sensor::set::makeDbusMsg
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:276,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:279,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:280,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:281,1
    - Dst: updateToDbus
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:283,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 2
    argNames:
    - ' cmdData'
    - ' sensorInfo'
    argTypes:
    - SetSensorReadingReq
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 243
    functionDepth: 2
    functionLinenumber: 243
    functionLinenumberEnd: 292
    functionName: ipmi::sensor::set::assertion
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 0
    functionsReached:
    - std::get<OffsetValueMap>
    - auto::append
    - propertyInterfaces::begin
    - getAssertionSet
    - updateToDbus
    - ipmi::sensor::set::makeDbusMsg
    - std::bitset::test
    - auto::size
    - auto::test
    linkageType: ''
    returnType: ipmi::Cc
    signature: ipmi::Cc assertion(const SetSensorReadingReq& cmdData, const Info&
      sensorInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmid_get_sd_bus_connection
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:211,1
    - Dst: getService
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:214,1
    - Dst: sdbusplus::bus_t::new_method_call
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:216,1
    - Dst: auto::c_str
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:216,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:216,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:217,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' updateInterface'
    - ' sensorPath'
    - ' command'
    - ' sensorInterface'
    argTypes:
    - std::string
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 218
    functionName: ipmi::sensor::set::makeDbusMsg
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 18
    functionsReached:
    - auto::c_str
    - ipmid_get_sd_bus_connection
    - c_str
    - getService
    - sdbusplus::bus_t::new_method_call
    linkageType: ''
    returnType: IpmiUpdateData
    signature: "IpmiUpdateData makeDbusMsg(const std::string& updateInterface,\n                           const
      std::string& sensorPath,\n                           const std::string& command,\n
      \                          const std::string& sensorInterface)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::set::makeDbusMsg
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:224,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:227,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:228,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:231,1
    - Dst: std::get<OffsetValueMap>
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:232,1
    - Dst: std::get<OffsetValueMap>
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:233,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:235,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:238,1
    - Dst: updateToDbus
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:240,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' sensorInfo'
    - data
    argTypes:
    - Info
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 220
    functionDepth: 2
    functionLinenumber: 220
    functionLinenumberEnd: 241
    functionName: ipmi::sensor::set::eventdata
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 24
    functionsReached:
    - std::get<OffsetValueMap>
    - auto::append
    - propertyInterfaces::begin
    - updateToDbus
    - ipmi::sensor::set::makeDbusMsg
    - lg2::error
    linkageType: ''
    returnType: ipmi::Cc
    signature: "ipmi::Cc eventdata(const SetSensorReadingReq&, const Info& sensorInfo,\n
      \                  uint8_t data)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getAssertionSet
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:245,1
    - Dst: getAssertionSet
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:246,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:249,1
    - Dst: std::get<OffsetValueMap>
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:254,1
    - Dst: auto::size
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:256,1
    - Dst: auto::test
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:256,1
    - Dst: std::bitset::test
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:262,1
    - Dst: std::bitset::test
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:267,1
    - Dst: ipmi::sensor::set::makeDbusMsg
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:276,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:279,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:280,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:281,1
    - Dst: updateToDbus
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:283,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 2
    argNames:
    - ' cmdData'
    - ' sensorInfo'
    argTypes:
    - SetSensorReadingReq
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 243
    functionDepth: 2
    functionLinenumber: 243
    functionLinenumberEnd: 292
    functionName: ipmi::sensor::set::assertion
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 0
    functionsReached:
    - std::get<OffsetValueMap>
    - auto::append
    - propertyInterfaces::begin
    - getAssertionSet
    - updateToDbus
    - ipmi::sensor::set::makeDbusMsg
    - std::bitset::test
    - auto::size
    - auto::test
    linkageType: ''
    returnType: ipmi::Cc
    signature: ipmi::Cc assertion(const SetSensorReadingReq& cmdData, const Info&
      sensorInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmid_get_sd_bus_connection
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:303,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:307,1
    - Dst: sdbusplus::bus_t::new_method_call
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:309,1
    - Dst: std::string::c_str
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:309,1
    - Dst: auto::c_str
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:309,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:310,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' updateInterface'
    - ' command'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 311
    functionName: ipmi::sensor::notify::makeDbusMsg
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 0
    functionsReached:
    - auto::c_str
    - ipmi::getService
    - ipmid_get_sd_bus_connection
    - std::string::c_str
    - c_str
    - sdbusplus::bus_t::new_method_call
    linkageType: ''
    returnType: IpmiUpdateData
    signature: "IpmiUpdateData makeDbusMsg(const std::string& updateInterface,\n                           const
      std::string&, const std::string& command,\n                           const
      std::string&)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::notify::makeDbusMsg
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:315,1
    - Dst: getAssertionSet
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:318,1
    - Dst: getAssertionSet
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:319,1
    - Dst: second::empty
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:328,1
    - Dst: ipmi::sensor::InterfaceMap::emplace
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:330,1
    - Dst: std::get<OffsetValueMap>
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:340,1
    - Dst: std::bitset::test
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:342,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:349,1
    - Dst: std::bitset::test
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:352,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:359,1
    - Dst: std::get<PreReqOffsetValueMap>
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:364,1
    - Dst: std::bitset::test
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:366,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:368,1
    - Dst: std::bitset::test
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:370,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:372,1
    - Dst: ipmi::sensor::PropertyMap::emplace
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:377,1
    - Dst: ipmi::sensor::InterfaceMap::emplace
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:378,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:378,1
    - Dst: ipmi::sensor::ObjectMap::emplace
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:383,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:383,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:384,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:384,1
    - Dst: updateToDbus
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:385,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 36
    argCount: 2
    argNames:
    - ' cmdData'
    - ' sensorInfo'
    argTypes:
    - SetSensorReadingReq
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 313
    functionDepth: 2
    functionLinenumber: 313
    functionLinenumberEnd: 386
    functionName: ipmi::sensor::notify::assertion
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 0
    functionsReached:
    - second::empty
    - std::get<OffsetValueMap>
    - auto::append
    - getAssertionSet
    - std::get<bool>
    - ipmi::sensor::ObjectMap::emplace
    - updateToDbus
    - ipmi::sensor::notify::makeDbusMsg
    - std::bitset::test
    - ipmi::sensor::PropertyMap::emplace
    - std::get<PreReqOffsetValueMap>
    - ipmi::sensor::InterfaceMap::emplace
    - std::move
    linkageType: ''
    returnType: ipmi::Cc
    signature: ipmi::Cc assertion(const SetSensorReadingReq& cmdData, const Info&
      sensorInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmid_get_sd_bus_connection
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:303,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:307,1
    - Dst: sdbusplus::bus_t::new_method_call
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:309,1
    - Dst: std::string::c_str
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:309,1
    - Dst: auto::c_str
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:309,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:310,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' updateInterface'
    - ' command'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 311
    functionName: ipmi::sensor::notify::makeDbusMsg
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 1
    functionsReached:
    - auto::c_str
    - ipmi::getService
    - ipmid_get_sd_bus_connection
    - std::string::c_str
    - c_str
    - sdbusplus::bus_t::new_method_call
    linkageType: ''
    returnType: IpmiUpdateData
    signature: "IpmiUpdateData makeDbusMsg(const std::string& updateInterface,\n                           const
      std::string&, const std::string& command,\n                           const
      std::string&)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::notify::makeDbusMsg
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:315,1
    - Dst: getAssertionSet
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:318,1
    - Dst: getAssertionSet
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:319,1
    - Dst: second::empty
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:328,1
    - Dst: ipmi::sensor::InterfaceMap::emplace
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:330,1
    - Dst: std::get<OffsetValueMap>
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:340,1
    - Dst: std::bitset::test
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:342,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:349,1
    - Dst: std::bitset::test
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:352,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:359,1
    - Dst: std::get<PreReqOffsetValueMap>
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:364,1
    - Dst: std::bitset::test
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:366,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:368,1
    - Dst: std::bitset::test
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:370,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:372,1
    - Dst: ipmi::sensor::PropertyMap::emplace
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:377,1
    - Dst: ipmi::sensor::InterfaceMap::emplace
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:378,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:378,1
    - Dst: ipmi::sensor::ObjectMap::emplace
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:383,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:383,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:384,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:384,1
    - Dst: updateToDbus
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:385,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 36
    argCount: 2
    argNames:
    - ' cmdData'
    - ' sensorInfo'
    argTypes:
    - SetSensorReadingReq
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 313
    functionDepth: 2
    functionLinenumber: 313
    functionLinenumberEnd: 386
    functionName: ipmi::sensor::notify::assertion
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 0
    functionsReached:
    - second::empty
    - std::get<OffsetValueMap>
    - auto::append
    - getAssertionSet
    - std::get<bool>
    - ipmi::sensor::ObjectMap::emplace
    - updateToDbus
    - ipmi::sensor::notify::makeDbusMsg
    - std::bitset::test
    - ipmi::sensor::PropertyMap::emplace
    - std::get<PreReqOffsetValueMap>
    - ipmi::sensor::InterfaceMap::emplace
    - std::move
    linkageType: ''
    returnType: ipmi::Cc
    signature: ipmi::Cc assertion(const SetSensorReadingReq& cmdData, const Info&
      sensorInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::get::mapDbusToAssertion
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:405,1
    - Dst: fs::path::string
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:406,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' sensorInfo'
    argTypes:
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 398
    functionDepth: 2
    functionLinenumber: 398
    functionLinenumberEnd: 408
    functionName: ipmi::sensor::inventory::get::assertion
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 0
    functionsReached:
    - fs::path::string
    - ipmi::sensor::get::mapDbusToAssertion
    - propertyInterfaces::begin
    linkageType: ''
    returnType: GetSensorResponse
    signature: GetSensorResponse assertion(const Info& sensorInfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::get::mapDbusToAssertion
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:422,1
    - Dst: fs::path::string
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:423,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:424,1
    - Dst: has_value
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:426,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - id
    - ' sensorInfo'
    argTypes:
    - uint8_t
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 412
    functionDepth: 2
    functionLinenumber: 412
    functionLinenumberEnd: 432
    functionName: ipmi::sensor::inventory::get::assertion
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 0
    functionsReached:
    - has_value
    - fs::path::string
    - ipmi::sensor::get::mapDbusToAssertion
    - propertyInterfaces::begin
    linkageType: ''
    returnType: std::optional<GetSensorResponse>
    signature: "std::optional<GetSensorResponse> assertion(uint8_t id, const Info&
      sensorInfo,\n                                           const PropertyMap& /*properties*/)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::get::mapDbusToAssertion
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:405,1
    - Dst: fs::path::string
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:406,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' sensorInfo'
    argTypes:
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 398
    functionDepth: 2
    functionLinenumber: 398
    functionLinenumberEnd: 408
    functionName: ipmi::sensor::inventory::get::assertion
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 0
    functionsReached:
    - fs::path::string
    - ipmi::sensor::get::mapDbusToAssertion
    - propertyInterfaces::begin
    linkageType: ''
    returnType: GetSensorResponse
    signature: GetSensorResponse assertion(const Info& sensorInfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::get::mapDbusToAssertion
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:422,1
    - Dst: fs::path::string
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:423,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:424,1
    - Dst: has_value
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:426,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - id
    - ' sensorInfo'
    argTypes:
    - uint8_t
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 412
    functionDepth: 2
    functionLinenumber: 412
    functionLinenumberEnd: 432
    functionName: ipmi::sensor::inventory::get::assertion
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 0
    functionsReached:
    - has_value
    - fs::path::string
    - ipmi::sensor::get::mapDbusToAssertion
    - propertyInterfaces::begin
    linkageType: ''
    returnType: std::optional<GetSensorResponse>
    signature: "std::optional<GetSensorResponse> assertion(uint8_t id, const Info&
      sensorInfo,\n                                           const PropertyMap& /*properties*/)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::get::mapDbusToAssertion
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:405,1
    - Dst: fs::path::string
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:406,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' sensorInfo'
    argTypes:
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 398
    functionDepth: 2
    functionLinenumber: 398
    functionLinenumberEnd: 408
    functionName: ipmi::sensor::inventory::get::assertion
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 0
    functionsReached:
    - fs::path::string
    - ipmi::sensor::get::mapDbusToAssertion
    - propertyInterfaces::begin
    linkageType: ''
    returnType: GetSensorResponse
    signature: GetSensorResponse assertion(const Info& sensorInfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::get::mapDbusToAssertion
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:422,1
    - Dst: fs::path::string
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:423,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:424,1
    - Dst: has_value
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:426,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - id
    - ' sensorInfo'
    argTypes:
    - uint8_t
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 412
    functionDepth: 2
    functionLinenumber: 412
    functionLinenumberEnd: 432
    functionName: ipmi::sensor::inventory::get::assertion
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 0
    functionsReached:
    - has_value
    - fs::path::string
    - ipmi::sensor::get::mapDbusToAssertion
    - propertyInterfaces::begin
    linkageType: ''
    returnType: std::optional<GetSensorResponse>
    signature: "std::optional<GetSensorResponse> assertion(uint8_t id, const Info&
      sensorInfo,\n                                           const PropertyMap& /*properties*/)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::get::mapDbusToAssertion
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:405,1
    - Dst: fs::path::string
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:406,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' sensorInfo'
    argTypes:
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 398
    functionDepth: 2
    functionLinenumber: 398
    functionLinenumberEnd: 408
    functionName: ipmi::sensor::inventory::get::assertion
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 0
    functionsReached:
    - fs::path::string
    - ipmi::sensor::get::mapDbusToAssertion
    - propertyInterfaces::begin
    linkageType: ''
    returnType: GetSensorResponse
    signature: GetSensorResponse assertion(const Info& sensorInfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::get::mapDbusToAssertion
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:422,1
    - Dst: fs::path::string
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:423,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:424,1
    - Dst: has_value
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:426,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - id
    - ' sensorInfo'
    argTypes:
    - uint8_t
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 412
    functionDepth: 2
    functionLinenumber: 412
    functionLinenumberEnd: 432
    functionName: ipmi::sensor::inventory::get::assertion
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 0
    functionsReached:
    - has_value
    - fs::path::string
    - ipmi::sensor::get::mapDbusToAssertion
    - propertyInterfaces::begin
    linkageType: ''
    returnType: std::optional<GetSensorResponse>
    signature: "std::optional<GetSensorResponse> assertion(uint8_t id, const Info&
      sensorInfo,\n                                           const PropertyMap& /*properties*/)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Assertion>
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:26,1
    - Dst: static_cast<Deassertion>
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:29,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' cmdData'
    argTypes:
    - SetSensorReadingReq
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 32
    functionName: ipmi::sensor::getAssertionSet
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 0
    functionsReached:
    - static_cast<Assertion>
    - static_cast<Deassertion>
    - std::make_pair
    linkageType: ''
    returnType: AssertionSet
    signature: AssertionSet getAssertionSet(const SetSensorReadingReq& cmdData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmid_get_sd_bus_connection
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:36,1
    - Dst: sdbusplus::bus_t::call
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:39,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:43,1
    - Dst: commit<InternalFailure>
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - IpmiUpdateData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 48
    functionName: ipmi::sensor::updateToDbus
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 0
    functionsReached:
    - ipmid_get_sd_bus_connection
    - commit<InternalFailure>
    - lg2::error
    - sdbusplus::bus_t::call
    linkageType: ''
    returnType: ipmi::Cc
    signature: ipmi::Cc updateToDbus(IpmiUpdateData& msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sensorPath::find_last_of
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:55,1
    - Dst: sensorPath::substr
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:56,1
    - Dst: sensorPath::substr
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:58,1
    - Dst: auto::find_last_of
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:60,1
    - Dst: auto::substr
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' sensorInfo'
    argTypes:
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 65
    functionName: ipmi::sensor::get::nameParentLeaf
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 0
    functionsReached:
    - auto::substr
    - sensorPath::find_last_of
    - sensorPath::substr
    - auto::find_last_of
    linkageType: ''
    returnType: SensorName
    signature: SensorName nameParentLeaf(const Info& sensorInfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmid_get_sd_bus_connection
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:71,1
    - Dst: enableScanning
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:74,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:76,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:87,1
    - Dst: std::get<OffsetValueMap>
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:89,1
    - Dst: setOffset
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:93,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:100,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - ' sensorInfo'
    - ' path'
    - ' interface'
    argTypes:
    - Info
    - InstancePath
    - DbusInterface
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 110
    functionName: ipmi::sensor::get::mapDbusToAssertion
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 12
    functionsReached:
    - std::get<OffsetValueMap>
    - enableScanning
    - ipmi::getService
    - ipmid_get_sd_bus_connection
    - setOffset
    - ipmi::getDbusProperty
    - lg2::error
    linkageType: ''
    returnType: GetSensorResponse
    signature: "GetSensorResponse mapDbusToAssertion(const Info& sensorInfo,\n                                     const
      InstancePath& path,\n                                     const DbusInterface&
      interface)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmid_get_sd_bus_connection
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:114,1
    - Dst: enableScanning
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:117,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:119,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:130,1
    - Dst: std::get<OffsetValueMap>
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:133,1
    - Dst: setReading
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:137,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:144,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - ' sensorInfo'
    argTypes:
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 154
    functionName: ipmi::sensor::get::mapDbusToEventdata2
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 4
    functionsReached:
    - std::get<OffsetValueMap>
    - enableScanning
    - ipmi::getService
    - ipmid_get_sd_bus_connection
    - setReading
    - ipmi::getDbusProperty
    - lg2::error
    linkageType: ''
    returnType: GetSensorResponse
    signature: GetSensorResponse mapDbusToEventdata2(const Info& sensorInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::get::mapDbusToAssertion
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' sensorInfo'
    argTypes:
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 161
    functionName: ipmi::sensor::get::assertion
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::sensor::get::mapDbusToAssertion
    linkageType: ''
    returnType: GetSensorResponse
    signature: GetSensorResponse assertion(const Info& sensorInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::get::mapDbusToEventdata2
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' sensorInfo'
    argTypes:
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: ipmi::sensor::get::eventdata2
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::sensor::get::mapDbusToEventdata2
    linkageType: ''
    returnType: GetSensorResponse
    signature: GetSensorResponse eventdata2(const Info& sensorInfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::get::mapDbusToAssertion
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:173,1
    - Dst: has_value
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - id
    - ' sensorInfo'
    argTypes:
    - uint8_t
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 168
    functionDepth: 2
    functionLinenumber: 168
    functionLinenumberEnd: 182
    functionName: ipmi::sensor::get::assertion
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 0
    functionsReached:
    - has_value
    - ipmi::sensor::get::mapDbusToAssertion
    linkageType: ''
    returnType: std::optional<GetSensorResponse>
    signature: "std::optional<GetSensorResponse> assertion(uint8_t id, const Info&
      sensorInfo,\n                                           const PropertyMap& /*properties*/)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::get::mapDbusToEventdata2
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:189,1
    - Dst: has_value
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - id
    - ' sensorInfo'
    argTypes:
    - uint8_t
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 184
    functionDepth: 2
    functionLinenumber: 184
    functionLinenumberEnd: 197
    functionName: ipmi::sensor::get::eventdata2
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::sensor::get::mapDbusToEventdata2
    - has_value
    linkageType: ''
    returnType: std::optional<GetSensorResponse>
    signature: "std::optional<GetSensorResponse> eventdata2(uint8_t id, const Info&
      sensorInfo,\n                                            const PropertyMap&
      /*properties*/)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sensorPath::find_last_of
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:55,1
    - Dst: sensorPath::substr
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:56,1
    - Dst: sensorPath::substr
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:58,1
    - Dst: auto::find_last_of
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:60,1
    - Dst: auto::substr
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' sensorInfo'
    argTypes:
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 65
    functionName: ipmi::sensor::get::nameParentLeaf
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 0
    functionsReached:
    - auto::substr
    - sensorPath::find_last_of
    - sensorPath::substr
    - auto::find_last_of
    linkageType: ''
    returnType: SensorName
    signature: SensorName nameParentLeaf(const Info& sensorInfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmid_get_sd_bus_connection
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:71,1
    - Dst: enableScanning
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:74,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:76,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:87,1
    - Dst: std::get<OffsetValueMap>
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:89,1
    - Dst: setOffset
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:93,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:100,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - ' sensorInfo'
    - ' path'
    - ' interface'
    argTypes:
    - Info
    - InstancePath
    - DbusInterface
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 110
    functionName: ipmi::sensor::get::mapDbusToAssertion
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 14
    functionsReached:
    - std::get<OffsetValueMap>
    - enableScanning
    - ipmi::getService
    - ipmid_get_sd_bus_connection
    - setOffset
    - ipmi::getDbusProperty
    - lg2::error
    linkageType: ''
    returnType: GetSensorResponse
    signature: "GetSensorResponse mapDbusToAssertion(const Info& sensorInfo,\n                                     const
      InstancePath& path,\n                                     const DbusInterface&
      interface)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmid_get_sd_bus_connection
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:114,1
    - Dst: enableScanning
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:117,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:119,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:130,1
    - Dst: std::get<OffsetValueMap>
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:133,1
    - Dst: setReading
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:137,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:144,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - ' sensorInfo'
    argTypes:
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 154
    functionName: ipmi::sensor::get::mapDbusToEventdata2
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 6
    functionsReached:
    - std::get<OffsetValueMap>
    - enableScanning
    - ipmi::getService
    - ipmid_get_sd_bus_connection
    - setReading
    - ipmi::getDbusProperty
    - lg2::error
    linkageType: ''
    returnType: GetSensorResponse
    signature: GetSensorResponse mapDbusToEventdata2(const Info& sensorInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::get::mapDbusToAssertion
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' sensorInfo'
    argTypes:
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 161
    functionName: ipmi::sensor::get::assertion
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::sensor::get::mapDbusToAssertion
    linkageType: ''
    returnType: GetSensorResponse
    signature: GetSensorResponse assertion(const Info& sensorInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::get::mapDbusToEventdata2
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' sensorInfo'
    argTypes:
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: ipmi::sensor::get::eventdata2
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::sensor::get::mapDbusToEventdata2
    linkageType: ''
    returnType: GetSensorResponse
    signature: GetSensorResponse eventdata2(const Info& sensorInfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::get::mapDbusToAssertion
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:173,1
    - Dst: has_value
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - id
    - ' sensorInfo'
    argTypes:
    - uint8_t
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 168
    functionDepth: 2
    functionLinenumber: 168
    functionLinenumberEnd: 182
    functionName: ipmi::sensor::get::assertion
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 0
    functionsReached:
    - has_value
    - ipmi::sensor::get::mapDbusToAssertion
    linkageType: ''
    returnType: std::optional<GetSensorResponse>
    signature: "std::optional<GetSensorResponse> assertion(uint8_t id, const Info&
      sensorInfo,\n                                           const PropertyMap& /*properties*/)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::get::mapDbusToEventdata2
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:189,1
    - Dst: has_value
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - id
    - ' sensorInfo'
    argTypes:
    - uint8_t
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 184
    functionDepth: 2
    functionLinenumber: 184
    functionLinenumberEnd: 197
    functionName: ipmi::sensor::get::eventdata2
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::sensor::get::mapDbusToEventdata2
    - has_value
    linkageType: ''
    returnType: std::optional<GetSensorResponse>
    signature: "std::optional<GetSensorResponse> eventdata2(uint8_t id, const Info&
      sensorInfo,\n                                            const PropertyMap&
      /*properties*/)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmid_get_sd_bus_connection
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:211,1
    - Dst: getService
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:214,1
    - Dst: sdbusplus::bus_t::new_method_call
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:216,1
    - Dst: auto::c_str
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:216,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:216,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:217,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' updateInterface'
    - ' sensorPath'
    - ' command'
    - ' sensorInterface'
    argTypes:
    - std::string
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 218
    functionName: ipmi::sensor::set::makeDbusMsg
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 20
    functionsReached:
    - auto::c_str
    - ipmid_get_sd_bus_connection
    - c_str
    - getService
    - sdbusplus::bus_t::new_method_call
    linkageType: ''
    returnType: IpmiUpdateData
    signature: "IpmiUpdateData makeDbusMsg(const std::string& updateInterface,\n                           const
      std::string& sensorPath,\n                           const std::string& command,\n
      \                          const std::string& sensorInterface)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::set::makeDbusMsg
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:224,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:227,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:228,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:231,1
    - Dst: std::get<OffsetValueMap>
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:232,1
    - Dst: std::get<OffsetValueMap>
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:233,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:235,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:238,1
    - Dst: updateToDbus
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:240,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' sensorInfo'
    - data
    argTypes:
    - Info
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 220
    functionDepth: 2
    functionLinenumber: 220
    functionLinenumberEnd: 241
    functionName: ipmi::sensor::set::eventdata
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 24
    functionsReached:
    - std::get<OffsetValueMap>
    - auto::append
    - propertyInterfaces::begin
    - updateToDbus
    - ipmi::sensor::set::makeDbusMsg
    - lg2::error
    linkageType: ''
    returnType: ipmi::Cc
    signature: "ipmi::Cc eventdata(const SetSensorReadingReq&, const Info& sensorInfo,\n
      \                  uint8_t data)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getAssertionSet
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:245,1
    - Dst: getAssertionSet
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:246,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:249,1
    - Dst: std::get<OffsetValueMap>
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:254,1
    - Dst: auto::size
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:256,1
    - Dst: auto::test
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:256,1
    - Dst: std::bitset::test
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:262,1
    - Dst: std::bitset::test
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:267,1
    - Dst: ipmi::sensor::set::makeDbusMsg
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:276,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:279,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:280,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:281,1
    - Dst: updateToDbus
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:283,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 2
    argNames:
    - ' cmdData'
    - ' sensorInfo'
    argTypes:
    - SetSensorReadingReq
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 243
    functionDepth: 2
    functionLinenumber: 243
    functionLinenumberEnd: 292
    functionName: ipmi::sensor::set::assertion
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 0
    functionsReached:
    - std::get<OffsetValueMap>
    - auto::append
    - propertyInterfaces::begin
    - getAssertionSet
    - updateToDbus
    - ipmi::sensor::set::makeDbusMsg
    - std::bitset::test
    - auto::size
    - auto::test
    linkageType: ''
    returnType: ipmi::Cc
    signature: ipmi::Cc assertion(const SetSensorReadingReq& cmdData, const Info&
      sensorInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmid_get_sd_bus_connection
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:211,1
    - Dst: getService
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:214,1
    - Dst: sdbusplus::bus_t::new_method_call
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:216,1
    - Dst: auto::c_str
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:216,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:216,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:217,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' updateInterface'
    - ' sensorPath'
    - ' command'
    - ' sensorInterface'
    argTypes:
    - std::string
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 218
    functionName: ipmi::sensor::set::makeDbusMsg
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 22
    functionsReached:
    - auto::c_str
    - ipmid_get_sd_bus_connection
    - c_str
    - getService
    - sdbusplus::bus_t::new_method_call
    linkageType: ''
    returnType: IpmiUpdateData
    signature: "IpmiUpdateData makeDbusMsg(const std::string& updateInterface,\n                           const
      std::string& sensorPath,\n                           const std::string& command,\n
      \                          const std::string& sensorInterface)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::set::makeDbusMsg
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:224,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:227,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:228,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:231,1
    - Dst: std::get<OffsetValueMap>
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:232,1
    - Dst: std::get<OffsetValueMap>
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:233,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:235,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:238,1
    - Dst: updateToDbus
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:240,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' sensorInfo'
    - data
    argTypes:
    - Info
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 220
    functionDepth: 2
    functionLinenumber: 220
    functionLinenumberEnd: 241
    functionName: ipmi::sensor::set::eventdata
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 24
    functionsReached:
    - std::get<OffsetValueMap>
    - auto::append
    - propertyInterfaces::begin
    - updateToDbus
    - ipmi::sensor::set::makeDbusMsg
    - lg2::error
    linkageType: ''
    returnType: ipmi::Cc
    signature: "ipmi::Cc eventdata(const SetSensorReadingReq&, const Info& sensorInfo,\n
      \                  uint8_t data)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getAssertionSet
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:245,1
    - Dst: getAssertionSet
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:246,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:249,1
    - Dst: std::get<OffsetValueMap>
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:254,1
    - Dst: auto::size
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:256,1
    - Dst: auto::test
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:256,1
    - Dst: std::bitset::test
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:262,1
    - Dst: std::bitset::test
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:267,1
    - Dst: ipmi::sensor::set::makeDbusMsg
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:276,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:279,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:280,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:281,1
    - Dst: updateToDbus
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:283,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 2
    argNames:
    - ' cmdData'
    - ' sensorInfo'
    argTypes:
    - SetSensorReadingReq
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 243
    functionDepth: 2
    functionLinenumber: 243
    functionLinenumberEnd: 292
    functionName: ipmi::sensor::set::assertion
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 0
    functionsReached:
    - std::get<OffsetValueMap>
    - auto::append
    - propertyInterfaces::begin
    - getAssertionSet
    - updateToDbus
    - ipmi::sensor::set::makeDbusMsg
    - std::bitset::test
    - auto::size
    - auto::test
    linkageType: ''
    returnType: ipmi::Cc
    signature: ipmi::Cc assertion(const SetSensorReadingReq& cmdData, const Info&
      sensorInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmid_get_sd_bus_connection
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:303,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:307,1
    - Dst: sdbusplus::bus_t::new_method_call
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:309,1
    - Dst: std::string::c_str
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:309,1
    - Dst: auto::c_str
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:309,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:310,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' updateInterface'
    - ' command'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 311
    functionName: ipmi::sensor::notify::makeDbusMsg
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 2
    functionsReached:
    - auto::c_str
    - ipmi::getService
    - ipmid_get_sd_bus_connection
    - std::string::c_str
    - c_str
    - sdbusplus::bus_t::new_method_call
    linkageType: ''
    returnType: IpmiUpdateData
    signature: "IpmiUpdateData makeDbusMsg(const std::string& updateInterface,\n                           const
      std::string&, const std::string& command,\n                           const
      std::string&)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::notify::makeDbusMsg
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:315,1
    - Dst: getAssertionSet
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:318,1
    - Dst: getAssertionSet
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:319,1
    - Dst: second::empty
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:328,1
    - Dst: ipmi::sensor::InterfaceMap::emplace
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:330,1
    - Dst: std::get<OffsetValueMap>
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:340,1
    - Dst: std::bitset::test
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:342,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:349,1
    - Dst: std::bitset::test
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:352,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:359,1
    - Dst: std::get<PreReqOffsetValueMap>
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:364,1
    - Dst: std::bitset::test
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:366,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:368,1
    - Dst: std::bitset::test
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:370,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:372,1
    - Dst: ipmi::sensor::PropertyMap::emplace
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:377,1
    - Dst: ipmi::sensor::InterfaceMap::emplace
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:378,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:378,1
    - Dst: ipmi::sensor::ObjectMap::emplace
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:383,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:383,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:384,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:384,1
    - Dst: updateToDbus
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:385,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 36
    argCount: 2
    argNames:
    - ' cmdData'
    - ' sensorInfo'
    argTypes:
    - SetSensorReadingReq
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 313
    functionDepth: 2
    functionLinenumber: 313
    functionLinenumberEnd: 386
    functionName: ipmi::sensor::notify::assertion
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 0
    functionsReached:
    - second::empty
    - std::get<OffsetValueMap>
    - auto::append
    - getAssertionSet
    - std::get<bool>
    - ipmi::sensor::ObjectMap::emplace
    - updateToDbus
    - ipmi::sensor::notify::makeDbusMsg
    - std::bitset::test
    - ipmi::sensor::PropertyMap::emplace
    - std::get<PreReqOffsetValueMap>
    - ipmi::sensor::InterfaceMap::emplace
    - std::move
    linkageType: ''
    returnType: ipmi::Cc
    signature: ipmi::Cc assertion(const SetSensorReadingReq& cmdData, const Info&
      sensorInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmid_get_sd_bus_connection
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:303,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:307,1
    - Dst: sdbusplus::bus_t::new_method_call
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:309,1
    - Dst: std::string::c_str
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:309,1
    - Dst: auto::c_str
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:309,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:310,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' updateInterface'
    - ' command'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 311
    functionName: ipmi::sensor::notify::makeDbusMsg
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 3
    functionsReached:
    - auto::c_str
    - ipmi::getService
    - ipmid_get_sd_bus_connection
    - std::string::c_str
    - c_str
    - sdbusplus::bus_t::new_method_call
    linkageType: ''
    returnType: IpmiUpdateData
    signature: "IpmiUpdateData makeDbusMsg(const std::string& updateInterface,\n                           const
      std::string&, const std::string& command,\n                           const
      std::string&)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::notify::makeDbusMsg
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:315,1
    - Dst: getAssertionSet
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:318,1
    - Dst: getAssertionSet
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:319,1
    - Dst: second::empty
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:328,1
    - Dst: ipmi::sensor::InterfaceMap::emplace
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:330,1
    - Dst: std::get<OffsetValueMap>
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:340,1
    - Dst: std::bitset::test
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:342,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:349,1
    - Dst: std::bitset::test
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:352,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:359,1
    - Dst: std::get<PreReqOffsetValueMap>
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:364,1
    - Dst: std::bitset::test
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:366,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:368,1
    - Dst: std::bitset::test
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:370,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:372,1
    - Dst: ipmi::sensor::PropertyMap::emplace
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:377,1
    - Dst: ipmi::sensor::InterfaceMap::emplace
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:378,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:378,1
    - Dst: ipmi::sensor::ObjectMap::emplace
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:383,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:383,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:384,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:384,1
    - Dst: updateToDbus
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:385,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 36
    argCount: 2
    argNames:
    - ' cmdData'
    - ' sensorInfo'
    argTypes:
    - SetSensorReadingReq
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 313
    functionDepth: 2
    functionLinenumber: 313
    functionLinenumberEnd: 386
    functionName: ipmi::sensor::notify::assertion
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 0
    functionsReached:
    - second::empty
    - std::get<OffsetValueMap>
    - auto::append
    - getAssertionSet
    - std::get<bool>
    - ipmi::sensor::ObjectMap::emplace
    - updateToDbus
    - ipmi::sensor::notify::makeDbusMsg
    - std::bitset::test
    - ipmi::sensor::PropertyMap::emplace
    - std::get<PreReqOffsetValueMap>
    - ipmi::sensor::InterfaceMap::emplace
    - std::move
    linkageType: ''
    returnType: ipmi::Cc
    signature: ipmi::Cc assertion(const SetSensorReadingReq& cmdData, const Info&
      sensorInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::get::mapDbusToAssertion
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:405,1
    - Dst: fs::path::string
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:406,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' sensorInfo'
    argTypes:
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 398
    functionDepth: 2
    functionLinenumber: 398
    functionLinenumberEnd: 408
    functionName: ipmi::sensor::inventory::get::assertion
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 0
    functionsReached:
    - fs::path::string
    - ipmi::sensor::get::mapDbusToAssertion
    - propertyInterfaces::begin
    linkageType: ''
    returnType: GetSensorResponse
    signature: GetSensorResponse assertion(const Info& sensorInfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::get::mapDbusToAssertion
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:422,1
    - Dst: fs::path::string
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:423,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:424,1
    - Dst: has_value
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:426,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - id
    - ' sensorInfo'
    argTypes:
    - uint8_t
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 412
    functionDepth: 2
    functionLinenumber: 412
    functionLinenumberEnd: 432
    functionName: ipmi::sensor::inventory::get::assertion
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 0
    functionsReached:
    - has_value
    - fs::path::string
    - ipmi::sensor::get::mapDbusToAssertion
    - propertyInterfaces::begin
    linkageType: ''
    returnType: std::optional<GetSensorResponse>
    signature: "std::optional<GetSensorResponse> assertion(uint8_t id, const Info&
      sensorInfo,\n                                           const PropertyMap& /*properties*/)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::get::mapDbusToAssertion
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:405,1
    - Dst: fs::path::string
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:406,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' sensorInfo'
    argTypes:
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 398
    functionDepth: 2
    functionLinenumber: 398
    functionLinenumberEnd: 408
    functionName: ipmi::sensor::inventory::get::assertion
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 0
    functionsReached:
    - fs::path::string
    - ipmi::sensor::get::mapDbusToAssertion
    - propertyInterfaces::begin
    linkageType: ''
    returnType: GetSensorResponse
    signature: GetSensorResponse assertion(const Info& sensorInfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::get::mapDbusToAssertion
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:422,1
    - Dst: fs::path::string
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:423,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:424,1
    - Dst: has_value
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:426,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - id
    - ' sensorInfo'
    argTypes:
    - uint8_t
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 412
    functionDepth: 2
    functionLinenumber: 412
    functionLinenumberEnd: 432
    functionName: ipmi::sensor::inventory::get::assertion
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 0
    functionsReached:
    - has_value
    - fs::path::string
    - ipmi::sensor::get::mapDbusToAssertion
    - propertyInterfaces::begin
    linkageType: ''
    returnType: std::optional<GetSensorResponse>
    signature: "std::optional<GetSensorResponse> assertion(uint8_t id, const Info&
      sensorInfo,\n                                           const PropertyMap& /*properties*/)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::get::mapDbusToAssertion
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:405,1
    - Dst: fs::path::string
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:406,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' sensorInfo'
    argTypes:
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 398
    functionDepth: 2
    functionLinenumber: 398
    functionLinenumberEnd: 408
    functionName: ipmi::sensor::inventory::get::assertion
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 0
    functionsReached:
    - fs::path::string
    - ipmi::sensor::get::mapDbusToAssertion
    - propertyInterfaces::begin
    linkageType: ''
    returnType: GetSensorResponse
    signature: GetSensorResponse assertion(const Info& sensorInfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::get::mapDbusToAssertion
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:422,1
    - Dst: fs::path::string
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:423,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:424,1
    - Dst: has_value
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:426,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - id
    - ' sensorInfo'
    argTypes:
    - uint8_t
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 412
    functionDepth: 2
    functionLinenumber: 412
    functionLinenumberEnd: 432
    functionName: ipmi::sensor::inventory::get::assertion
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 0
    functionsReached:
    - has_value
    - fs::path::string
    - ipmi::sensor::get::mapDbusToAssertion
    - propertyInterfaces::begin
    linkageType: ''
    returnType: std::optional<GetSensorResponse>
    signature: "std::optional<GetSensorResponse> assertion(uint8_t id, const Info&
      sensorInfo,\n                                           const PropertyMap& /*properties*/)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::get::mapDbusToAssertion
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:405,1
    - Dst: fs::path::string
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:406,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' sensorInfo'
    argTypes:
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 398
    functionDepth: 2
    functionLinenumber: 398
    functionLinenumberEnd: 408
    functionName: ipmi::sensor::inventory::get::assertion
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 0
    functionsReached:
    - fs::path::string
    - ipmi::sensor::get::mapDbusToAssertion
    - propertyInterfaces::begin
    linkageType: ''
    returnType: GetSensorResponse
    signature: GetSensorResponse assertion(const Info& sensorInfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::get::mapDbusToAssertion
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:422,1
    - Dst: fs::path::string
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:423,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:424,1
    - Dst: has_value
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:426,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - id
    - ' sensorInfo'
    argTypes:
    - uint8_t
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 412
    functionDepth: 2
    functionLinenumber: 412
    functionLinenumberEnd: 432
    functionName: ipmi::sensor::inventory::get::assertion
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 0
    functionsReached:
    - has_value
    - fs::path::string
    - ipmi::sensor::get::mapDbusToAssertion
    - propertyInterfaces::begin
    linkageType: ''
    returnType: std::optional<GetSensorResponse>
    signature: "std::optional<GetSensorResponse> assertion(uint8_t id, const Info&
      sensorInfo,\n                                           const PropertyMap& /*properties*/)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Assertion>
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:26,1
    - Dst: static_cast<Deassertion>
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:29,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' cmdData'
    argTypes:
    - SetSensorReadingReq
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 32
    functionName: ipmi::sensor::getAssertionSet
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 0
    functionsReached:
    - static_cast<Assertion>
    - static_cast<Deassertion>
    - std::make_pair
    linkageType: ''
    returnType: AssertionSet
    signature: AssertionSet getAssertionSet(const SetSensorReadingReq& cmdData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmid_get_sd_bus_connection
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:36,1
    - Dst: sdbusplus::bus_t::call
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:39,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:43,1
    - Dst: commit<InternalFailure>
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - IpmiUpdateData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 48
    functionName: ipmi::sensor::updateToDbus
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 0
    functionsReached:
    - ipmid_get_sd_bus_connection
    - commit<InternalFailure>
    - lg2::error
    - sdbusplus::bus_t::call
    linkageType: ''
    returnType: ipmi::Cc
    signature: ipmi::Cc updateToDbus(IpmiUpdateData& msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sensorPath::find_last_of
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:55,1
    - Dst: sensorPath::substr
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:56,1
    - Dst: sensorPath::substr
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:58,1
    - Dst: auto::find_last_of
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:60,1
    - Dst: auto::substr
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' sensorInfo'
    argTypes:
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 65
    functionName: ipmi::sensor::get::nameParentLeaf
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 0
    functionsReached:
    - auto::substr
    - sensorPath::find_last_of
    - sensorPath::substr
    - auto::find_last_of
    linkageType: ''
    returnType: SensorName
    signature: SensorName nameParentLeaf(const Info& sensorInfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmid_get_sd_bus_connection
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:71,1
    - Dst: enableScanning
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:74,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:76,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:87,1
    - Dst: std::get<OffsetValueMap>
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:89,1
    - Dst: setOffset
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:93,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:100,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - ' sensorInfo'
    - ' path'
    - ' interface'
    argTypes:
    - Info
    - InstancePath
    - DbusInterface
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 110
    functionName: ipmi::sensor::get::mapDbusToAssertion
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 24
    functionsReached:
    - std::get<OffsetValueMap>
    - enableScanning
    - ipmi::getService
    - ipmid_get_sd_bus_connection
    - setOffset
    - ipmi::getDbusProperty
    - lg2::error
    linkageType: ''
    returnType: GetSensorResponse
    signature: "GetSensorResponse mapDbusToAssertion(const Info& sensorInfo,\n                                     const
      InstancePath& path,\n                                     const DbusInterface&
      interface)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmid_get_sd_bus_connection
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:114,1
    - Dst: enableScanning
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:117,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:119,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:130,1
    - Dst: std::get<OffsetValueMap>
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:133,1
    - Dst: setReading
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:137,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:144,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - ' sensorInfo'
    argTypes:
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 154
    functionName: ipmi::sensor::get::mapDbusToEventdata2
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 8
    functionsReached:
    - std::get<OffsetValueMap>
    - enableScanning
    - ipmi::getService
    - ipmid_get_sd_bus_connection
    - setReading
    - ipmi::getDbusProperty
    - lg2::error
    linkageType: ''
    returnType: GetSensorResponse
    signature: GetSensorResponse mapDbusToEventdata2(const Info& sensorInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::get::mapDbusToAssertion
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' sensorInfo'
    argTypes:
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 161
    functionName: ipmi::sensor::get::assertion
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::sensor::get::mapDbusToAssertion
    linkageType: ''
    returnType: GetSensorResponse
    signature: GetSensorResponse assertion(const Info& sensorInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::get::mapDbusToEventdata2
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' sensorInfo'
    argTypes:
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: ipmi::sensor::get::eventdata2
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::sensor::get::mapDbusToEventdata2
    linkageType: ''
    returnType: GetSensorResponse
    signature: GetSensorResponse eventdata2(const Info& sensorInfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::get::mapDbusToAssertion
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:173,1
    - Dst: has_value
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - id
    - ' sensorInfo'
    argTypes:
    - uint8_t
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 168
    functionDepth: 2
    functionLinenumber: 168
    functionLinenumberEnd: 182
    functionName: ipmi::sensor::get::assertion
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 0
    functionsReached:
    - has_value
    - ipmi::sensor::get::mapDbusToAssertion
    linkageType: ''
    returnType: std::optional<GetSensorResponse>
    signature: "std::optional<GetSensorResponse> assertion(uint8_t id, const Info&
      sensorInfo,\n                                           const PropertyMap& /*properties*/)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::get::mapDbusToEventdata2
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:189,1
    - Dst: has_value
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - id
    - ' sensorInfo'
    argTypes:
    - uint8_t
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 184
    functionDepth: 2
    functionLinenumber: 184
    functionLinenumberEnd: 197
    functionName: ipmi::sensor::get::eventdata2
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::sensor::get::mapDbusToEventdata2
    - has_value
    linkageType: ''
    returnType: std::optional<GetSensorResponse>
    signature: "std::optional<GetSensorResponse> eventdata2(uint8_t id, const Info&
      sensorInfo,\n                                            const PropertyMap&
      /*properties*/)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sensorPath::find_last_of
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:55,1
    - Dst: sensorPath::substr
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:56,1
    - Dst: sensorPath::substr
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:58,1
    - Dst: auto::find_last_of
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:60,1
    - Dst: auto::substr
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' sensorInfo'
    argTypes:
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 65
    functionName: ipmi::sensor::get::nameParentLeaf
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 0
    functionsReached:
    - auto::substr
    - sensorPath::find_last_of
    - sensorPath::substr
    - auto::find_last_of
    linkageType: ''
    returnType: SensorName
    signature: SensorName nameParentLeaf(const Info& sensorInfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmid_get_sd_bus_connection
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:71,1
    - Dst: enableScanning
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:74,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:76,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:87,1
    - Dst: std::get<OffsetValueMap>
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:89,1
    - Dst: setOffset
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:93,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:100,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - ' sensorInfo'
    - ' path'
    - ' interface'
    argTypes:
    - Info
    - InstancePath
    - DbusInterface
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 110
    functionName: ipmi::sensor::get::mapDbusToAssertion
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 26
    functionsReached:
    - std::get<OffsetValueMap>
    - enableScanning
    - ipmi::getService
    - ipmid_get_sd_bus_connection
    - setOffset
    - ipmi::getDbusProperty
    - lg2::error
    linkageType: ''
    returnType: GetSensorResponse
    signature: "GetSensorResponse mapDbusToAssertion(const Info& sensorInfo,\n                                     const
      InstancePath& path,\n                                     const DbusInterface&
      interface)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmid_get_sd_bus_connection
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:114,1
    - Dst: enableScanning
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:117,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:119,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:130,1
    - Dst: std::get<OffsetValueMap>
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:133,1
    - Dst: setReading
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:137,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:144,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - ' sensorInfo'
    argTypes:
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 154
    functionName: ipmi::sensor::get::mapDbusToEventdata2
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 10
    functionsReached:
    - std::get<OffsetValueMap>
    - enableScanning
    - ipmi::getService
    - ipmid_get_sd_bus_connection
    - setReading
    - ipmi::getDbusProperty
    - lg2::error
    linkageType: ''
    returnType: GetSensorResponse
    signature: GetSensorResponse mapDbusToEventdata2(const Info& sensorInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::get::mapDbusToAssertion
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' sensorInfo'
    argTypes:
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 161
    functionName: ipmi::sensor::get::assertion
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::sensor::get::mapDbusToAssertion
    linkageType: ''
    returnType: GetSensorResponse
    signature: GetSensorResponse assertion(const Info& sensorInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::get::mapDbusToEventdata2
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' sensorInfo'
    argTypes:
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: ipmi::sensor::get::eventdata2
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::sensor::get::mapDbusToEventdata2
    linkageType: ''
    returnType: GetSensorResponse
    signature: GetSensorResponse eventdata2(const Info& sensorInfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::get::mapDbusToAssertion
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:173,1
    - Dst: has_value
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - id
    - ' sensorInfo'
    argTypes:
    - uint8_t
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 168
    functionDepth: 2
    functionLinenumber: 168
    functionLinenumberEnd: 182
    functionName: ipmi::sensor::get::assertion
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 0
    functionsReached:
    - has_value
    - ipmi::sensor::get::mapDbusToAssertion
    linkageType: ''
    returnType: std::optional<GetSensorResponse>
    signature: "std::optional<GetSensorResponse> assertion(uint8_t id, const Info&
      sensorInfo,\n                                           const PropertyMap& /*properties*/)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::get::mapDbusToEventdata2
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:189,1
    - Dst: has_value
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - id
    - ' sensorInfo'
    argTypes:
    - uint8_t
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 184
    functionDepth: 2
    functionLinenumber: 184
    functionLinenumberEnd: 197
    functionName: ipmi::sensor::get::eventdata2
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::sensor::get::mapDbusToEventdata2
    - has_value
    linkageType: ''
    returnType: std::optional<GetSensorResponse>
    signature: "std::optional<GetSensorResponse> eventdata2(uint8_t id, const Info&
      sensorInfo,\n                                            const PropertyMap&
      /*properties*/)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmid_get_sd_bus_connection
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:211,1
    - Dst: getService
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:214,1
    - Dst: sdbusplus::bus_t::new_method_call
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:216,1
    - Dst: auto::c_str
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:216,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:216,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:217,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' updateInterface'
    - ' sensorPath'
    - ' command'
    - ' sensorInterface'
    argTypes:
    - std::string
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 218
    functionName: ipmi::sensor::set::makeDbusMsg
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 24
    functionsReached:
    - auto::c_str
    - ipmid_get_sd_bus_connection
    - c_str
    - getService
    - sdbusplus::bus_t::new_method_call
    linkageType: ''
    returnType: IpmiUpdateData
    signature: "IpmiUpdateData makeDbusMsg(const std::string& updateInterface,\n                           const
      std::string& sensorPath,\n                           const std::string& command,\n
      \                          const std::string& sensorInterface)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::set::makeDbusMsg
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:224,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:227,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:228,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:231,1
    - Dst: std::get<OffsetValueMap>
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:232,1
    - Dst: std::get<OffsetValueMap>
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:233,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:235,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:238,1
    - Dst: updateToDbus
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:240,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' sensorInfo'
    - data
    argTypes:
    - Info
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 220
    functionDepth: 2
    functionLinenumber: 220
    functionLinenumberEnd: 241
    functionName: ipmi::sensor::set::eventdata
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 24
    functionsReached:
    - std::get<OffsetValueMap>
    - auto::append
    - propertyInterfaces::begin
    - updateToDbus
    - ipmi::sensor::set::makeDbusMsg
    - lg2::error
    linkageType: ''
    returnType: ipmi::Cc
    signature: "ipmi::Cc eventdata(const SetSensorReadingReq&, const Info& sensorInfo,\n
      \                  uint8_t data)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getAssertionSet
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:245,1
    - Dst: getAssertionSet
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:246,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:249,1
    - Dst: std::get<OffsetValueMap>
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:254,1
    - Dst: auto::size
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:256,1
    - Dst: auto::test
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:256,1
    - Dst: std::bitset::test
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:262,1
    - Dst: std::bitset::test
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:267,1
    - Dst: ipmi::sensor::set::makeDbusMsg
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:276,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:279,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:280,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:281,1
    - Dst: updateToDbus
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:283,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 2
    argNames:
    - ' cmdData'
    - ' sensorInfo'
    argTypes:
    - SetSensorReadingReq
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 243
    functionDepth: 2
    functionLinenumber: 243
    functionLinenumberEnd: 292
    functionName: ipmi::sensor::set::assertion
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 0
    functionsReached:
    - std::get<OffsetValueMap>
    - auto::append
    - propertyInterfaces::begin
    - getAssertionSet
    - updateToDbus
    - ipmi::sensor::set::makeDbusMsg
    - std::bitset::test
    - auto::size
    - auto::test
    linkageType: ''
    returnType: ipmi::Cc
    signature: ipmi::Cc assertion(const SetSensorReadingReq& cmdData, const Info&
      sensorInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmid_get_sd_bus_connection
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:211,1
    - Dst: getService
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:214,1
    - Dst: sdbusplus::bus_t::new_method_call
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:216,1
    - Dst: auto::c_str
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:216,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:216,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:217,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' updateInterface'
    - ' sensorPath'
    - ' command'
    - ' sensorInterface'
    argTypes:
    - std::string
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 218
    functionName: ipmi::sensor::set::makeDbusMsg
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 26
    functionsReached:
    - auto::c_str
    - ipmid_get_sd_bus_connection
    - c_str
    - getService
    - sdbusplus::bus_t::new_method_call
    linkageType: ''
    returnType: IpmiUpdateData
    signature: "IpmiUpdateData makeDbusMsg(const std::string& updateInterface,\n                           const
      std::string& sensorPath,\n                           const std::string& command,\n
      \                          const std::string& sensorInterface)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::set::makeDbusMsg
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:224,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:227,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:228,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:231,1
    - Dst: std::get<OffsetValueMap>
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:232,1
    - Dst: std::get<OffsetValueMap>
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:233,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:235,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:238,1
    - Dst: updateToDbus
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:240,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' sensorInfo'
    - data
    argTypes:
    - Info
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 220
    functionDepth: 2
    functionLinenumber: 220
    functionLinenumberEnd: 241
    functionName: ipmi::sensor::set::eventdata
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 24
    functionsReached:
    - std::get<OffsetValueMap>
    - auto::append
    - propertyInterfaces::begin
    - updateToDbus
    - ipmi::sensor::set::makeDbusMsg
    - lg2::error
    linkageType: ''
    returnType: ipmi::Cc
    signature: "ipmi::Cc eventdata(const SetSensorReadingReq&, const Info& sensorInfo,\n
      \                  uint8_t data)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getAssertionSet
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:245,1
    - Dst: getAssertionSet
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:246,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:249,1
    - Dst: std::get<OffsetValueMap>
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:254,1
    - Dst: auto::size
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:256,1
    - Dst: auto::test
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:256,1
    - Dst: std::bitset::test
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:262,1
    - Dst: std::bitset::test
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:267,1
    - Dst: ipmi::sensor::set::makeDbusMsg
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:276,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:279,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:280,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:281,1
    - Dst: updateToDbus
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:283,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 2
    argNames:
    - ' cmdData'
    - ' sensorInfo'
    argTypes:
    - SetSensorReadingReq
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 243
    functionDepth: 2
    functionLinenumber: 243
    functionLinenumberEnd: 292
    functionName: ipmi::sensor::set::assertion
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 0
    functionsReached:
    - std::get<OffsetValueMap>
    - auto::append
    - propertyInterfaces::begin
    - getAssertionSet
    - updateToDbus
    - ipmi::sensor::set::makeDbusMsg
    - std::bitset::test
    - auto::size
    - auto::test
    linkageType: ''
    returnType: ipmi::Cc
    signature: ipmi::Cc assertion(const SetSensorReadingReq& cmdData, const Info&
      sensorInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmid_get_sd_bus_connection
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:303,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:307,1
    - Dst: sdbusplus::bus_t::new_method_call
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:309,1
    - Dst: std::string::c_str
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:309,1
    - Dst: auto::c_str
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:309,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:310,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' updateInterface'
    - ' command'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 311
    functionName: ipmi::sensor::notify::makeDbusMsg
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 4
    functionsReached:
    - auto::c_str
    - ipmi::getService
    - ipmid_get_sd_bus_connection
    - std::string::c_str
    - c_str
    - sdbusplus::bus_t::new_method_call
    linkageType: ''
    returnType: IpmiUpdateData
    signature: "IpmiUpdateData makeDbusMsg(const std::string& updateInterface,\n                           const
      std::string&, const std::string& command,\n                           const
      std::string&)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::notify::makeDbusMsg
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:315,1
    - Dst: getAssertionSet
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:318,1
    - Dst: getAssertionSet
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:319,1
    - Dst: second::empty
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:328,1
    - Dst: ipmi::sensor::InterfaceMap::emplace
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:330,1
    - Dst: std::get<OffsetValueMap>
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:340,1
    - Dst: std::bitset::test
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:342,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:349,1
    - Dst: std::bitset::test
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:352,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:359,1
    - Dst: std::get<PreReqOffsetValueMap>
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:364,1
    - Dst: std::bitset::test
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:366,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:368,1
    - Dst: std::bitset::test
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:370,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:372,1
    - Dst: ipmi::sensor::PropertyMap::emplace
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:377,1
    - Dst: ipmi::sensor::InterfaceMap::emplace
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:378,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:378,1
    - Dst: ipmi::sensor::ObjectMap::emplace
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:383,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:383,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:384,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:384,1
    - Dst: updateToDbus
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:385,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 36
    argCount: 2
    argNames:
    - ' cmdData'
    - ' sensorInfo'
    argTypes:
    - SetSensorReadingReq
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 313
    functionDepth: 2
    functionLinenumber: 313
    functionLinenumberEnd: 386
    functionName: ipmi::sensor::notify::assertion
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 0
    functionsReached:
    - second::empty
    - std::get<OffsetValueMap>
    - auto::append
    - getAssertionSet
    - std::get<bool>
    - ipmi::sensor::ObjectMap::emplace
    - updateToDbus
    - ipmi::sensor::notify::makeDbusMsg
    - std::bitset::test
    - ipmi::sensor::PropertyMap::emplace
    - std::get<PreReqOffsetValueMap>
    - ipmi::sensor::InterfaceMap::emplace
    - std::move
    linkageType: ''
    returnType: ipmi::Cc
    signature: ipmi::Cc assertion(const SetSensorReadingReq& cmdData, const Info&
      sensorInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmid_get_sd_bus_connection
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:303,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:307,1
    - Dst: sdbusplus::bus_t::new_method_call
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:309,1
    - Dst: std::string::c_str
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:309,1
    - Dst: auto::c_str
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:309,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:310,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' updateInterface'
    - ' command'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 311
    functionName: ipmi::sensor::notify::makeDbusMsg
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 5
    functionsReached:
    - auto::c_str
    - ipmi::getService
    - ipmid_get_sd_bus_connection
    - std::string::c_str
    - c_str
    - sdbusplus::bus_t::new_method_call
    linkageType: ''
    returnType: IpmiUpdateData
    signature: "IpmiUpdateData makeDbusMsg(const std::string& updateInterface,\n                           const
      std::string&, const std::string& command,\n                           const
      std::string&)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::notify::makeDbusMsg
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:315,1
    - Dst: getAssertionSet
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:318,1
    - Dst: getAssertionSet
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:319,1
    - Dst: second::empty
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:328,1
    - Dst: ipmi::sensor::InterfaceMap::emplace
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:330,1
    - Dst: std::get<OffsetValueMap>
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:340,1
    - Dst: std::bitset::test
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:342,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:349,1
    - Dst: std::bitset::test
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:352,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:359,1
    - Dst: std::get<PreReqOffsetValueMap>
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:364,1
    - Dst: std::bitset::test
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:366,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:368,1
    - Dst: std::bitset::test
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:370,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:372,1
    - Dst: ipmi::sensor::PropertyMap::emplace
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:377,1
    - Dst: ipmi::sensor::InterfaceMap::emplace
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:378,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:378,1
    - Dst: ipmi::sensor::ObjectMap::emplace
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:383,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:383,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:384,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:384,1
    - Dst: updateToDbus
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:385,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 36
    argCount: 2
    argNames:
    - ' cmdData'
    - ' sensorInfo'
    argTypes:
    - SetSensorReadingReq
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 313
    functionDepth: 2
    functionLinenumber: 313
    functionLinenumberEnd: 386
    functionName: ipmi::sensor::notify::assertion
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 0
    functionsReached:
    - second::empty
    - std::get<OffsetValueMap>
    - auto::append
    - getAssertionSet
    - std::get<bool>
    - ipmi::sensor::ObjectMap::emplace
    - updateToDbus
    - ipmi::sensor::notify::makeDbusMsg
    - std::bitset::test
    - ipmi::sensor::PropertyMap::emplace
    - std::get<PreReqOffsetValueMap>
    - ipmi::sensor::InterfaceMap::emplace
    - std::move
    linkageType: ''
    returnType: ipmi::Cc
    signature: ipmi::Cc assertion(const SetSensorReadingReq& cmdData, const Info&
      sensorInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::get::mapDbusToAssertion
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:405,1
    - Dst: fs::path::string
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:406,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' sensorInfo'
    argTypes:
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 398
    functionDepth: 2
    functionLinenumber: 398
    functionLinenumberEnd: 408
    functionName: ipmi::sensor::inventory::get::assertion
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 0
    functionsReached:
    - fs::path::string
    - ipmi::sensor::get::mapDbusToAssertion
    - propertyInterfaces::begin
    linkageType: ''
    returnType: GetSensorResponse
    signature: GetSensorResponse assertion(const Info& sensorInfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::get::mapDbusToAssertion
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:422,1
    - Dst: fs::path::string
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:423,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:424,1
    - Dst: has_value
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:426,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - id
    - ' sensorInfo'
    argTypes:
    - uint8_t
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 412
    functionDepth: 2
    functionLinenumber: 412
    functionLinenumberEnd: 432
    functionName: ipmi::sensor::inventory::get::assertion
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 0
    functionsReached:
    - has_value
    - fs::path::string
    - ipmi::sensor::get::mapDbusToAssertion
    - propertyInterfaces::begin
    linkageType: ''
    returnType: std::optional<GetSensorResponse>
    signature: "std::optional<GetSensorResponse> assertion(uint8_t id, const Info&
      sensorInfo,\n                                           const PropertyMap& /*properties*/)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::get::mapDbusToAssertion
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:405,1
    - Dst: fs::path::string
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:406,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' sensorInfo'
    argTypes:
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 398
    functionDepth: 2
    functionLinenumber: 398
    functionLinenumberEnd: 408
    functionName: ipmi::sensor::inventory::get::assertion
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 0
    functionsReached:
    - fs::path::string
    - ipmi::sensor::get::mapDbusToAssertion
    - propertyInterfaces::begin
    linkageType: ''
    returnType: GetSensorResponse
    signature: GetSensorResponse assertion(const Info& sensorInfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::get::mapDbusToAssertion
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:422,1
    - Dst: fs::path::string
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:423,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:424,1
    - Dst: has_value
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:426,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - id
    - ' sensorInfo'
    argTypes:
    - uint8_t
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 412
    functionDepth: 2
    functionLinenumber: 412
    functionLinenumberEnd: 432
    functionName: ipmi::sensor::inventory::get::assertion
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 0
    functionsReached:
    - has_value
    - fs::path::string
    - ipmi::sensor::get::mapDbusToAssertion
    - propertyInterfaces::begin
    linkageType: ''
    returnType: std::optional<GetSensorResponse>
    signature: "std::optional<GetSensorResponse> assertion(uint8_t id, const Info&
      sensorInfo,\n                                           const PropertyMap& /*properties*/)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::get::mapDbusToAssertion
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:405,1
    - Dst: fs::path::string
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:406,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' sensorInfo'
    argTypes:
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 398
    functionDepth: 2
    functionLinenumber: 398
    functionLinenumberEnd: 408
    functionName: ipmi::sensor::inventory::get::assertion
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 0
    functionsReached:
    - fs::path::string
    - ipmi::sensor::get::mapDbusToAssertion
    - propertyInterfaces::begin
    linkageType: ''
    returnType: GetSensorResponse
    signature: GetSensorResponse assertion(const Info& sensorInfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::get::mapDbusToAssertion
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:422,1
    - Dst: fs::path::string
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:423,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:424,1
    - Dst: has_value
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:426,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - id
    - ' sensorInfo'
    argTypes:
    - uint8_t
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 412
    functionDepth: 2
    functionLinenumber: 412
    functionLinenumberEnd: 432
    functionName: ipmi::sensor::inventory::get::assertion
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 0
    functionsReached:
    - has_value
    - fs::path::string
    - ipmi::sensor::get::mapDbusToAssertion
    - propertyInterfaces::begin
    linkageType: ''
    returnType: std::optional<GetSensorResponse>
    signature: "std::optional<GetSensorResponse> assertion(uint8_t id, const Info&
      sensorInfo,\n                                           const PropertyMap& /*properties*/)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::get::mapDbusToAssertion
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:405,1
    - Dst: fs::path::string
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:406,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' sensorInfo'
    argTypes:
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 398
    functionDepth: 2
    functionLinenumber: 398
    functionLinenumberEnd: 408
    functionName: ipmi::sensor::inventory::get::assertion
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 0
    functionsReached:
    - fs::path::string
    - ipmi::sensor::get::mapDbusToAssertion
    - propertyInterfaces::begin
    linkageType: ''
    returnType: GetSensorResponse
    signature: GetSensorResponse assertion(const Info& sensorInfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::get::mapDbusToAssertion
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:422,1
    - Dst: fs::path::string
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:423,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:424,1
    - Dst: has_value
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:426,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - id
    - ' sensorInfo'
    argTypes:
    - uint8_t
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 412
    functionDepth: 2
    functionLinenumber: 412
    functionLinenumberEnd: 432
    functionName: ipmi::sensor::inventory::get::assertion
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 0
    functionsReached:
    - has_value
    - fs::path::string
    - ipmi::sensor::get::mapDbusToAssertion
    - propertyInterfaces::begin
    linkageType: ''
    returnType: std::optional<GetSensorResponse>
    signature: "std::optional<GetSensorResponse> assertion(uint8_t id, const Info&
      sensorInfo,\n                                           const PropertyMap& /*properties*/)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Assertion>
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:26,1
    - Dst: static_cast<Deassertion>
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:29,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' cmdData'
    argTypes:
    - SetSensorReadingReq
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 32
    functionName: ipmi::sensor::getAssertionSet
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 0
    functionsReached:
    - static_cast<Assertion>
    - static_cast<Deassertion>
    - std::make_pair
    linkageType: ''
    returnType: AssertionSet
    signature: AssertionSet getAssertionSet(const SetSensorReadingReq& cmdData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmid_get_sd_bus_connection
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:36,1
    - Dst: sdbusplus::bus_t::call
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:39,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:43,1
    - Dst: commit<InternalFailure>
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - IpmiUpdateData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 48
    functionName: ipmi::sensor::updateToDbus
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 0
    functionsReached:
    - ipmid_get_sd_bus_connection
    - commit<InternalFailure>
    - lg2::error
    - sdbusplus::bus_t::call
    linkageType: ''
    returnType: ipmi::Cc
    signature: ipmi::Cc updateToDbus(IpmiUpdateData& msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sensorPath::find_last_of
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:55,1
    - Dst: sensorPath::substr
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:56,1
    - Dst: sensorPath::substr
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:58,1
    - Dst: auto::find_last_of
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:60,1
    - Dst: auto::substr
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' sensorInfo'
    argTypes:
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 65
    functionName: ipmi::sensor::get::nameParentLeaf
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 0
    functionsReached:
    - auto::substr
    - sensorPath::find_last_of
    - sensorPath::substr
    - auto::find_last_of
    linkageType: ''
    returnType: SensorName
    signature: SensorName nameParentLeaf(const Info& sensorInfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmid_get_sd_bus_connection
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:71,1
    - Dst: enableScanning
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:74,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:76,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:87,1
    - Dst: std::get<OffsetValueMap>
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:89,1
    - Dst: setOffset
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:93,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:100,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - ' sensorInfo'
    - ' path'
    - ' interface'
    argTypes:
    - Info
    - InstancePath
    - DbusInterface
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 110
    functionName: ipmi::sensor::get::mapDbusToAssertion
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 36
    functionsReached:
    - std::get<OffsetValueMap>
    - enableScanning
    - ipmi::getService
    - ipmid_get_sd_bus_connection
    - setOffset
    - ipmi::getDbusProperty
    - lg2::error
    linkageType: ''
    returnType: GetSensorResponse
    signature: "GetSensorResponse mapDbusToAssertion(const Info& sensorInfo,\n                                     const
      InstancePath& path,\n                                     const DbusInterface&
      interface)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmid_get_sd_bus_connection
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:114,1
    - Dst: enableScanning
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:117,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:119,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:130,1
    - Dst: std::get<OffsetValueMap>
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:133,1
    - Dst: setReading
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:137,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:144,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - ' sensorInfo'
    argTypes:
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 154
    functionName: ipmi::sensor::get::mapDbusToEventdata2
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 12
    functionsReached:
    - std::get<OffsetValueMap>
    - enableScanning
    - ipmi::getService
    - ipmid_get_sd_bus_connection
    - setReading
    - ipmi::getDbusProperty
    - lg2::error
    linkageType: ''
    returnType: GetSensorResponse
    signature: GetSensorResponse mapDbusToEventdata2(const Info& sensorInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::get::mapDbusToAssertion
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' sensorInfo'
    argTypes:
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 161
    functionName: ipmi::sensor::get::assertion
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::sensor::get::mapDbusToAssertion
    linkageType: ''
    returnType: GetSensorResponse
    signature: GetSensorResponse assertion(const Info& sensorInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::get::mapDbusToEventdata2
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' sensorInfo'
    argTypes:
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: ipmi::sensor::get::eventdata2
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::sensor::get::mapDbusToEventdata2
    linkageType: ''
    returnType: GetSensorResponse
    signature: GetSensorResponse eventdata2(const Info& sensorInfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::get::mapDbusToAssertion
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:173,1
    - Dst: has_value
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - id
    - ' sensorInfo'
    argTypes:
    - uint8_t
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 168
    functionDepth: 2
    functionLinenumber: 168
    functionLinenumberEnd: 182
    functionName: ipmi::sensor::get::assertion
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 0
    functionsReached:
    - has_value
    - ipmi::sensor::get::mapDbusToAssertion
    linkageType: ''
    returnType: std::optional<GetSensorResponse>
    signature: "std::optional<GetSensorResponse> assertion(uint8_t id, const Info&
      sensorInfo,\n                                           const PropertyMap& /*properties*/)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::get::mapDbusToEventdata2
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:189,1
    - Dst: has_value
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - id
    - ' sensorInfo'
    argTypes:
    - uint8_t
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 184
    functionDepth: 2
    functionLinenumber: 184
    functionLinenumberEnd: 197
    functionName: ipmi::sensor::get::eventdata2
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::sensor::get::mapDbusToEventdata2
    - has_value
    linkageType: ''
    returnType: std::optional<GetSensorResponse>
    signature: "std::optional<GetSensorResponse> eventdata2(uint8_t id, const Info&
      sensorInfo,\n                                            const PropertyMap&
      /*properties*/)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sensorPath::find_last_of
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:55,1
    - Dst: sensorPath::substr
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:56,1
    - Dst: sensorPath::substr
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:58,1
    - Dst: auto::find_last_of
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:60,1
    - Dst: auto::substr
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' sensorInfo'
    argTypes:
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 65
    functionName: ipmi::sensor::get::nameParentLeaf
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 0
    functionsReached:
    - auto::substr
    - sensorPath::find_last_of
    - sensorPath::substr
    - auto::find_last_of
    linkageType: ''
    returnType: SensorName
    signature: SensorName nameParentLeaf(const Info& sensorInfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmid_get_sd_bus_connection
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:71,1
    - Dst: enableScanning
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:74,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:76,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:87,1
    - Dst: std::get<OffsetValueMap>
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:89,1
    - Dst: setOffset
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:93,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:100,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - ' sensorInfo'
    - ' path'
    - ' interface'
    argTypes:
    - Info
    - InstancePath
    - DbusInterface
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 110
    functionName: ipmi::sensor::get::mapDbusToAssertion
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 38
    functionsReached:
    - std::get<OffsetValueMap>
    - enableScanning
    - ipmi::getService
    - ipmid_get_sd_bus_connection
    - setOffset
    - ipmi::getDbusProperty
    - lg2::error
    linkageType: ''
    returnType: GetSensorResponse
    signature: "GetSensorResponse mapDbusToAssertion(const Info& sensorInfo,\n                                     const
      InstancePath& path,\n                                     const DbusInterface&
      interface)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmid_get_sd_bus_connection
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:114,1
    - Dst: enableScanning
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:117,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:119,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:130,1
    - Dst: std::get<OffsetValueMap>
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:133,1
    - Dst: setReading
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:137,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:144,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - ' sensorInfo'
    argTypes:
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 154
    functionName: ipmi::sensor::get::mapDbusToEventdata2
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 14
    functionsReached:
    - std::get<OffsetValueMap>
    - enableScanning
    - ipmi::getService
    - ipmid_get_sd_bus_connection
    - setReading
    - ipmi::getDbusProperty
    - lg2::error
    linkageType: ''
    returnType: GetSensorResponse
    signature: GetSensorResponse mapDbusToEventdata2(const Info& sensorInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::get::mapDbusToAssertion
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' sensorInfo'
    argTypes:
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 161
    functionName: ipmi::sensor::get::assertion
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::sensor::get::mapDbusToAssertion
    linkageType: ''
    returnType: GetSensorResponse
    signature: GetSensorResponse assertion(const Info& sensorInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::get::mapDbusToEventdata2
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' sensorInfo'
    argTypes:
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: ipmi::sensor::get::eventdata2
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::sensor::get::mapDbusToEventdata2
    linkageType: ''
    returnType: GetSensorResponse
    signature: GetSensorResponse eventdata2(const Info& sensorInfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::get::mapDbusToAssertion
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:173,1
    - Dst: has_value
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - id
    - ' sensorInfo'
    argTypes:
    - uint8_t
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 168
    functionDepth: 2
    functionLinenumber: 168
    functionLinenumberEnd: 182
    functionName: ipmi::sensor::get::assertion
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 0
    functionsReached:
    - has_value
    - ipmi::sensor::get::mapDbusToAssertion
    linkageType: ''
    returnType: std::optional<GetSensorResponse>
    signature: "std::optional<GetSensorResponse> assertion(uint8_t id, const Info&
      sensorInfo,\n                                           const PropertyMap& /*properties*/)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::get::mapDbusToEventdata2
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:189,1
    - Dst: has_value
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - id
    - ' sensorInfo'
    argTypes:
    - uint8_t
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 184
    functionDepth: 2
    functionLinenumber: 184
    functionLinenumberEnd: 197
    functionName: ipmi::sensor::get::eventdata2
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::sensor::get::mapDbusToEventdata2
    - has_value
    linkageType: ''
    returnType: std::optional<GetSensorResponse>
    signature: "std::optional<GetSensorResponse> eventdata2(uint8_t id, const Info&
      sensorInfo,\n                                            const PropertyMap&
      /*properties*/)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmid_get_sd_bus_connection
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:211,1
    - Dst: getService
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:214,1
    - Dst: sdbusplus::bus_t::new_method_call
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:216,1
    - Dst: auto::c_str
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:216,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:216,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:217,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' updateInterface'
    - ' sensorPath'
    - ' command'
    - ' sensorInterface'
    argTypes:
    - std::string
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 218
    functionName: ipmi::sensor::set::makeDbusMsg
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 28
    functionsReached:
    - auto::c_str
    - ipmid_get_sd_bus_connection
    - c_str
    - getService
    - sdbusplus::bus_t::new_method_call
    linkageType: ''
    returnType: IpmiUpdateData
    signature: "IpmiUpdateData makeDbusMsg(const std::string& updateInterface,\n                           const
      std::string& sensorPath,\n                           const std::string& command,\n
      \                          const std::string& sensorInterface)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::set::makeDbusMsg
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:224,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:227,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:228,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:231,1
    - Dst: std::get<OffsetValueMap>
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:232,1
    - Dst: std::get<OffsetValueMap>
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:233,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:235,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:238,1
    - Dst: updateToDbus
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:240,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' sensorInfo'
    - data
    argTypes:
    - Info
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 220
    functionDepth: 2
    functionLinenumber: 220
    functionLinenumberEnd: 241
    functionName: ipmi::sensor::set::eventdata
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 24
    functionsReached:
    - std::get<OffsetValueMap>
    - auto::append
    - propertyInterfaces::begin
    - updateToDbus
    - ipmi::sensor::set::makeDbusMsg
    - lg2::error
    linkageType: ''
    returnType: ipmi::Cc
    signature: "ipmi::Cc eventdata(const SetSensorReadingReq&, const Info& sensorInfo,\n
      \                  uint8_t data)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getAssertionSet
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:245,1
    - Dst: getAssertionSet
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:246,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:249,1
    - Dst: std::get<OffsetValueMap>
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:254,1
    - Dst: auto::size
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:256,1
    - Dst: auto::test
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:256,1
    - Dst: std::bitset::test
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:262,1
    - Dst: std::bitset::test
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:267,1
    - Dst: ipmi::sensor::set::makeDbusMsg
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:276,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:279,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:280,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:281,1
    - Dst: updateToDbus
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:283,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 2
    argNames:
    - ' cmdData'
    - ' sensorInfo'
    argTypes:
    - SetSensorReadingReq
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 243
    functionDepth: 2
    functionLinenumber: 243
    functionLinenumberEnd: 292
    functionName: ipmi::sensor::set::assertion
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 0
    functionsReached:
    - std::get<OffsetValueMap>
    - auto::append
    - propertyInterfaces::begin
    - getAssertionSet
    - updateToDbus
    - ipmi::sensor::set::makeDbusMsg
    - std::bitset::test
    - auto::size
    - auto::test
    linkageType: ''
    returnType: ipmi::Cc
    signature: ipmi::Cc assertion(const SetSensorReadingReq& cmdData, const Info&
      sensorInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmid_get_sd_bus_connection
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:211,1
    - Dst: getService
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:214,1
    - Dst: sdbusplus::bus_t::new_method_call
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:216,1
    - Dst: auto::c_str
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:216,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:216,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:217,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' updateInterface'
    - ' sensorPath'
    - ' command'
    - ' sensorInterface'
    argTypes:
    - std::string
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 218
    functionName: ipmi::sensor::set::makeDbusMsg
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 30
    functionsReached:
    - auto::c_str
    - ipmid_get_sd_bus_connection
    - c_str
    - getService
    - sdbusplus::bus_t::new_method_call
    linkageType: ''
    returnType: IpmiUpdateData
    signature: "IpmiUpdateData makeDbusMsg(const std::string& updateInterface,\n                           const
      std::string& sensorPath,\n                           const std::string& command,\n
      \                          const std::string& sensorInterface)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::set::makeDbusMsg
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:224,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:227,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:228,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:231,1
    - Dst: std::get<OffsetValueMap>
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:232,1
    - Dst: std::get<OffsetValueMap>
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:233,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:235,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:238,1
    - Dst: updateToDbus
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:240,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' sensorInfo'
    - data
    argTypes:
    - Info
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 220
    functionDepth: 2
    functionLinenumber: 220
    functionLinenumberEnd: 241
    functionName: ipmi::sensor::set::eventdata
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 24
    functionsReached:
    - std::get<OffsetValueMap>
    - auto::append
    - propertyInterfaces::begin
    - updateToDbus
    - ipmi::sensor::set::makeDbusMsg
    - lg2::error
    linkageType: ''
    returnType: ipmi::Cc
    signature: "ipmi::Cc eventdata(const SetSensorReadingReq&, const Info& sensorInfo,\n
      \                  uint8_t data)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getAssertionSet
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:245,1
    - Dst: getAssertionSet
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:246,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:249,1
    - Dst: std::get<OffsetValueMap>
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:254,1
    - Dst: auto::size
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:256,1
    - Dst: auto::test
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:256,1
    - Dst: std::bitset::test
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:262,1
    - Dst: std::bitset::test
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:267,1
    - Dst: ipmi::sensor::set::makeDbusMsg
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:276,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:279,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:280,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:281,1
    - Dst: updateToDbus
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:283,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 2
    argNames:
    - ' cmdData'
    - ' sensorInfo'
    argTypes:
    - SetSensorReadingReq
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 243
    functionDepth: 2
    functionLinenumber: 243
    functionLinenumberEnd: 292
    functionName: ipmi::sensor::set::assertion
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 0
    functionsReached:
    - std::get<OffsetValueMap>
    - auto::append
    - propertyInterfaces::begin
    - getAssertionSet
    - updateToDbus
    - ipmi::sensor::set::makeDbusMsg
    - std::bitset::test
    - auto::size
    - auto::test
    linkageType: ''
    returnType: ipmi::Cc
    signature: ipmi::Cc assertion(const SetSensorReadingReq& cmdData, const Info&
      sensorInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmid_get_sd_bus_connection
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:303,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:307,1
    - Dst: sdbusplus::bus_t::new_method_call
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:309,1
    - Dst: std::string::c_str
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:309,1
    - Dst: auto::c_str
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:309,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:310,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' updateInterface'
    - ' command'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 311
    functionName: ipmi::sensor::notify::makeDbusMsg
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 6
    functionsReached:
    - auto::c_str
    - ipmi::getService
    - ipmid_get_sd_bus_connection
    - std::string::c_str
    - c_str
    - sdbusplus::bus_t::new_method_call
    linkageType: ''
    returnType: IpmiUpdateData
    signature: "IpmiUpdateData makeDbusMsg(const std::string& updateInterface,\n                           const
      std::string&, const std::string& command,\n                           const
      std::string&)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::notify::makeDbusMsg
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:315,1
    - Dst: getAssertionSet
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:318,1
    - Dst: getAssertionSet
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:319,1
    - Dst: second::empty
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:328,1
    - Dst: ipmi::sensor::InterfaceMap::emplace
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:330,1
    - Dst: std::get<OffsetValueMap>
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:340,1
    - Dst: std::bitset::test
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:342,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:349,1
    - Dst: std::bitset::test
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:352,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:359,1
    - Dst: std::get<PreReqOffsetValueMap>
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:364,1
    - Dst: std::bitset::test
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:366,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:368,1
    - Dst: std::bitset::test
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:370,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:372,1
    - Dst: ipmi::sensor::PropertyMap::emplace
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:377,1
    - Dst: ipmi::sensor::InterfaceMap::emplace
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:378,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:378,1
    - Dst: ipmi::sensor::ObjectMap::emplace
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:383,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:383,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:384,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:384,1
    - Dst: updateToDbus
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:385,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 36
    argCount: 2
    argNames:
    - ' cmdData'
    - ' sensorInfo'
    argTypes:
    - SetSensorReadingReq
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 313
    functionDepth: 2
    functionLinenumber: 313
    functionLinenumberEnd: 386
    functionName: ipmi::sensor::notify::assertion
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 0
    functionsReached:
    - second::empty
    - std::get<OffsetValueMap>
    - auto::append
    - getAssertionSet
    - std::get<bool>
    - ipmi::sensor::ObjectMap::emplace
    - updateToDbus
    - ipmi::sensor::notify::makeDbusMsg
    - std::bitset::test
    - ipmi::sensor::PropertyMap::emplace
    - std::get<PreReqOffsetValueMap>
    - ipmi::sensor::InterfaceMap::emplace
    - std::move
    linkageType: ''
    returnType: ipmi::Cc
    signature: ipmi::Cc assertion(const SetSensorReadingReq& cmdData, const Info&
      sensorInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmid_get_sd_bus_connection
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:303,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:307,1
    - Dst: sdbusplus::bus_t::new_method_call
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:309,1
    - Dst: std::string::c_str
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:309,1
    - Dst: auto::c_str
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:309,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:310,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' updateInterface'
    - ' command'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 311
    functionName: ipmi::sensor::notify::makeDbusMsg
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 7
    functionsReached:
    - auto::c_str
    - ipmi::getService
    - ipmid_get_sd_bus_connection
    - std::string::c_str
    - c_str
    - sdbusplus::bus_t::new_method_call
    linkageType: ''
    returnType: IpmiUpdateData
    signature: "IpmiUpdateData makeDbusMsg(const std::string& updateInterface,\n                           const
      std::string&, const std::string& command,\n                           const
      std::string&)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::notify::makeDbusMsg
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:315,1
    - Dst: getAssertionSet
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:318,1
    - Dst: getAssertionSet
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:319,1
    - Dst: second::empty
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:328,1
    - Dst: ipmi::sensor::InterfaceMap::emplace
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:330,1
    - Dst: std::get<OffsetValueMap>
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:340,1
    - Dst: std::bitset::test
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:342,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:349,1
    - Dst: std::bitset::test
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:352,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:359,1
    - Dst: std::get<PreReqOffsetValueMap>
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:364,1
    - Dst: std::bitset::test
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:366,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:368,1
    - Dst: std::bitset::test
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:370,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:372,1
    - Dst: ipmi::sensor::PropertyMap::emplace
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:377,1
    - Dst: ipmi::sensor::InterfaceMap::emplace
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:378,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:378,1
    - Dst: ipmi::sensor::ObjectMap::emplace
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:383,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:383,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:384,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:384,1
    - Dst: updateToDbus
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:385,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 36
    argCount: 2
    argNames:
    - ' cmdData'
    - ' sensorInfo'
    argTypes:
    - SetSensorReadingReq
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 313
    functionDepth: 2
    functionLinenumber: 313
    functionLinenumberEnd: 386
    functionName: ipmi::sensor::notify::assertion
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 0
    functionsReached:
    - second::empty
    - std::get<OffsetValueMap>
    - auto::append
    - getAssertionSet
    - std::get<bool>
    - ipmi::sensor::ObjectMap::emplace
    - updateToDbus
    - ipmi::sensor::notify::makeDbusMsg
    - std::bitset::test
    - ipmi::sensor::PropertyMap::emplace
    - std::get<PreReqOffsetValueMap>
    - ipmi::sensor::InterfaceMap::emplace
    - std::move
    linkageType: ''
    returnType: ipmi::Cc
    signature: ipmi::Cc assertion(const SetSensorReadingReq& cmdData, const Info&
      sensorInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::get::mapDbusToAssertion
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:405,1
    - Dst: fs::path::string
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:406,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' sensorInfo'
    argTypes:
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 398
    functionDepth: 2
    functionLinenumber: 398
    functionLinenumberEnd: 408
    functionName: ipmi::sensor::inventory::get::assertion
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 0
    functionsReached:
    - fs::path::string
    - ipmi::sensor::get::mapDbusToAssertion
    - propertyInterfaces::begin
    linkageType: ''
    returnType: GetSensorResponse
    signature: GetSensorResponse assertion(const Info& sensorInfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::get::mapDbusToAssertion
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:422,1
    - Dst: fs::path::string
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:423,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:424,1
    - Dst: has_value
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:426,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - id
    - ' sensorInfo'
    argTypes:
    - uint8_t
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 412
    functionDepth: 2
    functionLinenumber: 412
    functionLinenumberEnd: 432
    functionName: ipmi::sensor::inventory::get::assertion
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 0
    functionsReached:
    - has_value
    - fs::path::string
    - ipmi::sensor::get::mapDbusToAssertion
    - propertyInterfaces::begin
    linkageType: ''
    returnType: std::optional<GetSensorResponse>
    signature: "std::optional<GetSensorResponse> assertion(uint8_t id, const Info&
      sensorInfo,\n                                           const PropertyMap& /*properties*/)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::get::mapDbusToAssertion
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:405,1
    - Dst: fs::path::string
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:406,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' sensorInfo'
    argTypes:
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 398
    functionDepth: 2
    functionLinenumber: 398
    functionLinenumberEnd: 408
    functionName: ipmi::sensor::inventory::get::assertion
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 0
    functionsReached:
    - fs::path::string
    - ipmi::sensor::get::mapDbusToAssertion
    - propertyInterfaces::begin
    linkageType: ''
    returnType: GetSensorResponse
    signature: GetSensorResponse assertion(const Info& sensorInfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::get::mapDbusToAssertion
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:422,1
    - Dst: fs::path::string
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:423,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:424,1
    - Dst: has_value
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:426,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - id
    - ' sensorInfo'
    argTypes:
    - uint8_t
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 412
    functionDepth: 2
    functionLinenumber: 412
    functionLinenumberEnd: 432
    functionName: ipmi::sensor::inventory::get::assertion
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 0
    functionsReached:
    - has_value
    - fs::path::string
    - ipmi::sensor::get::mapDbusToAssertion
    - propertyInterfaces::begin
    linkageType: ''
    returnType: std::optional<GetSensorResponse>
    signature: "std::optional<GetSensorResponse> assertion(uint8_t id, const Info&
      sensorInfo,\n                                           const PropertyMap& /*properties*/)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::get::mapDbusToAssertion
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:405,1
    - Dst: fs::path::string
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:406,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' sensorInfo'
    argTypes:
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 398
    functionDepth: 2
    functionLinenumber: 398
    functionLinenumberEnd: 408
    functionName: ipmi::sensor::inventory::get::assertion
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 0
    functionsReached:
    - fs::path::string
    - ipmi::sensor::get::mapDbusToAssertion
    - propertyInterfaces::begin
    linkageType: ''
    returnType: GetSensorResponse
    signature: GetSensorResponse assertion(const Info& sensorInfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::get::mapDbusToAssertion
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:422,1
    - Dst: fs::path::string
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:423,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:424,1
    - Dst: has_value
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:426,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - id
    - ' sensorInfo'
    argTypes:
    - uint8_t
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 412
    functionDepth: 2
    functionLinenumber: 412
    functionLinenumberEnd: 432
    functionName: ipmi::sensor::inventory::get::assertion
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 0
    functionsReached:
    - has_value
    - fs::path::string
    - ipmi::sensor::get::mapDbusToAssertion
    - propertyInterfaces::begin
    linkageType: ''
    returnType: std::optional<GetSensorResponse>
    signature: "std::optional<GetSensorResponse> assertion(uint8_t id, const Info&
      sensorInfo,\n                                           const PropertyMap& /*properties*/)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::get::mapDbusToAssertion
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:405,1
    - Dst: fs::path::string
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:406,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' sensorInfo'
    argTypes:
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 398
    functionDepth: 2
    functionLinenumber: 398
    functionLinenumberEnd: 408
    functionName: ipmi::sensor::inventory::get::assertion
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 0
    functionsReached:
    - fs::path::string
    - ipmi::sensor::get::mapDbusToAssertion
    - propertyInterfaces::begin
    linkageType: ''
    returnType: GetSensorResponse
    signature: GetSensorResponse assertion(const Info& sensorInfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::get::mapDbusToAssertion
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:422,1
    - Dst: fs::path::string
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:423,1
    - Dst: propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:424,1
    - Dst: has_value
      Src: /src/phosphor-host-ipmid/sensordatahandler.cpp:426,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - id
    - ' sensorInfo'
    argTypes:
    - uint8_t
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 412
    functionDepth: 2
    functionLinenumber: 412
    functionLinenumberEnd: 432
    functionName: ipmi::sensor::inventory::get::assertion
    functionSourceFile: /src/phosphor-host-ipmid/sensordatahandler.cpp
    functionUses: 0
    functionsReached:
    - has_value
    - fs::path::string
    - ipmi::sensor::get::mapDbusToAssertion
    - propertyInterfaces::begin
    linkageType: ''
    returnType: std::optional<GetSensorResponse>
    signature: "std::optional<GetSensorResponse> assertion(uint8_t id, const Info&
      sensorInfo,\n                                           const PropertyMap& /*properties*/)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 72
    functionName: reserveSel
    functionSourceFile: /src/phosphor-host-ipmid/ipmid-new.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: unsigned short
    signature: unsigned short reserveSel(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - unsigned short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: checkSELReservation
    functionSourceFile: /src/phosphor-host-ipmid/ipmid-new.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool checkSELReservation(unsigned short id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: cancelSELReservation
    functionSourceFile: /src/phosphor-host-ipmid/ipmid-new.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cancelSELReservation(void)
  - 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: getInterfaceIndex
    functionSourceFile: /src/phosphor-host-ipmid/ipmid-new.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EInterfaceIndex
    signature: EInterfaceIndex getInterfaceIndex(void)
  - 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: ipmid_get_sd_event_connection
    functionSourceFile: /src/phosphor-host-ipmid/ipmid-new.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: sd_event
    signature: sd_event * ipmid_get_sd_event_connection(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: ipmid_get_sd_bus_connection
    functionSourceFile: /src/phosphor-host-ipmid/ipmid-new.cpp
    functionUses: 90
    functionsReached: []
    linkageType: ''
    returnType: sd_bus
    signature: sd_bus * ipmid_get_sd_bus_connection(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cluster
    - cmd
    argTypes:
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: ipmi::makeCmdKey
    functionSourceFile: /src/phosphor-host-ipmid/ipmid-new.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int makeCmdKey(unsigned int cluster, unsigned int cmd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: makeCmdKey
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:148,1
    - Dst: std::get<HandlerBase::ptr>
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:153,1
    - Dst: std::get<int>
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:153,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 5
    argNames:
    - prio
    - netFn
    - cmd
    - priv
    - handler
    argTypes:
    - int
    - NetFn
    - Cmd
    - Privilege
    - HandlerBase::ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 159
    functionName: ipmi::impl::registerHandler
    functionSourceFile: /src/phosphor-host-ipmid/ipmid-new.cpp
    functionUses: 0
    functionsReached:
    - makeCmdKey
    - std::get<HandlerBase::ptr>
    - std::get<int>
    linkageType: ''
    returnType: bool
    signature: "bool registerHandler(int prio, NetFn netFn, Cmd cmd, Privilege priv,\n
      \                    HandlerBase::ptr handler)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: makeCmdKey
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:166,1
    - Dst: std::get<HandlerBase::ptr>
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:171,1
    - Dst: std::get<int>
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:171,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 5
    argNames:
    - prio
    - group
    - cmd
    - priv
    - handler
    argTypes:
    - int
    - Group
    - Cmd
    - Privilege
    - HandlerBase::ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 177
    functionName: ipmi::impl::registerGroupHandler
    functionSourceFile: /src/phosphor-host-ipmid/ipmid-new.cpp
    functionUses: 0
    functionsReached:
    - makeCmdKey
    - std::get<HandlerBase::ptr>
    - std::get<int>
    linkageType: ''
    returnType: bool
    signature: "bool registerGroupHandler(int prio, Group group, Cmd cmd, Privilege
      priv,\n                          HandlerBase::ptr handler)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: makeCmdKey
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:184,1
    - Dst: std::get<HandlerBase::ptr>
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:189,1
    - Dst: std::get<int>
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:189,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:192,1
    - Dst: lg2::warning
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:198,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - prio
    - iana
    - cmd
    - priv
    - handler
    argTypes:
    - int
    - Iana
    - Cmd
    - Privilege
    - HandlerBase::ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 202
    functionName: ipmi::impl::registerOemHandler
    functionSourceFile: /src/phosphor-host-ipmid/ipmid-new.cpp
    functionUses: 0
    functionsReached:
    - makeCmdKey
    - std::get<int>
    - lg2::warning
    - lg2::debug
    - std::get<HandlerBase::ptr>
    linkageType: ''
    returnType: bool
    signature: "bool registerOemHandler(int prio, Iana iana, Cmd cmd, Privilege priv,\n
      \                       HandlerBase::ptr handler)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:208,1
    - Dst: std::get<int>
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:208,1
    - Dst: front
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:208,1
    - Dst: emplace_front
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:210,1
    - Dst: std::make_tuple
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:210,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:214,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:215,1
    - Dst: std::get<int>
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:215,1
    - Dst: emplace_after
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:219,1
    - Dst: std::make_tuple
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:219,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - prio
    - filter
    argTypes:
    - int
    - FilterBase::ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 220
    functionName: ipmi::impl::registerFilter
    functionSourceFile: /src/phosphor-host-ipmid/ipmid-new.cpp
    functionUses: 0
    functionsReached:
    - emplace_after
    - emplace_front
    - std::get<int>
    - front
    - std::make_tuple
    - end
    - begin
    - empty
    linkageType: ''
    returnType: void
    signature: void registerFilter(int prio, FilterBase::ptr filter)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: makeCmdKey
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:148,1
    - Dst: std::get<HandlerBase::ptr>
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:153,1
    - Dst: std::get<int>
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:153,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 5
    argNames:
    - prio
    - netFn
    - cmd
    - priv
    - handler
    argTypes:
    - int
    - NetFn
    - Cmd
    - Privilege
    - HandlerBase::ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 159
    functionName: ipmi::impl::registerHandler
    functionSourceFile: /src/phosphor-host-ipmid/ipmid-new.cpp
    functionUses: 0
    functionsReached:
    - makeCmdKey
    - std::get<HandlerBase::ptr>
    - std::get<int>
    linkageType: ''
    returnType: bool
    signature: "bool registerHandler(int prio, NetFn netFn, Cmd cmd, Privilege priv,\n
      \                    HandlerBase::ptr handler)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: makeCmdKey
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:166,1
    - Dst: std::get<HandlerBase::ptr>
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:171,1
    - Dst: std::get<int>
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:171,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 5
    argNames:
    - prio
    - group
    - cmd
    - priv
    - handler
    argTypes:
    - int
    - Group
    - Cmd
    - Privilege
    - HandlerBase::ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 177
    functionName: ipmi::impl::registerGroupHandler
    functionSourceFile: /src/phosphor-host-ipmid/ipmid-new.cpp
    functionUses: 0
    functionsReached:
    - makeCmdKey
    - std::get<HandlerBase::ptr>
    - std::get<int>
    linkageType: ''
    returnType: bool
    signature: "bool registerGroupHandler(int prio, Group group, Cmd cmd, Privilege
      priv,\n                          HandlerBase::ptr handler)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: makeCmdKey
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:184,1
    - Dst: std::get<HandlerBase::ptr>
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:189,1
    - Dst: std::get<int>
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:189,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:192,1
    - Dst: lg2::warning
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:198,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - prio
    - iana
    - cmd
    - priv
    - handler
    argTypes:
    - int
    - Iana
    - Cmd
    - Privilege
    - HandlerBase::ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 202
    functionName: ipmi::impl::registerOemHandler
    functionSourceFile: /src/phosphor-host-ipmid/ipmid-new.cpp
    functionUses: 0
    functionsReached:
    - makeCmdKey
    - std::get<int>
    - lg2::warning
    - lg2::debug
    - std::get<HandlerBase::ptr>
    linkageType: ''
    returnType: bool
    signature: "bool registerOemHandler(int prio, Iana iana, Cmd cmd, Privilege priv,\n
      \                       HandlerBase::ptr handler)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:208,1
    - Dst: std::get<int>
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:208,1
    - Dst: front
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:208,1
    - Dst: emplace_front
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:210,1
    - Dst: std::make_tuple
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:210,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:214,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:215,1
    - Dst: std::get<int>
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:215,1
    - Dst: emplace_after
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:219,1
    - Dst: std::make_tuple
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:219,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - prio
    - filter
    argTypes:
    - int
    - FilterBase::ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 220
    functionName: ipmi::impl::registerFilter
    functionSourceFile: /src/phosphor-host-ipmid/ipmid-new.cpp
    functionUses: 0
    functionsReached:
    - emplace_after
    - emplace_front
    - std::get<int>
    - front
    - std::make_tuple
    - end
    - begin
    - empty
    linkageType: ''
    returnType: void
    signature: void registerFilter(int prio, FilterBase::ptr filter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::get<FilterBase::ptr>
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:231,1
    - Dst: FilterBase::ptr::call
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:232,1
    - Dst: ipmi::errorResponse
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:235,1
    - Dst: message::Response::ptr
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:238,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - request
    argTypes:
    - message::Request::ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 239
    functionName: ipmi::filterIpmiCommand
    functionSourceFile: /src/phosphor-host-ipmid/ipmid-new.cpp
    functionUses: 0
    functionsReached:
    - std::get<FilterBase::ptr>
    - message::Response::ptr
    - FilterBase::ptr::call
    - ipmi::errorResponse
    linkageType: ''
    returnType: message::Response::ptr
    signature: message::Response::ptr filterIpmiCommand(message::Request::ptr request)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::filterIpmiCommand
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:247,1
    - Dst: ipmi::makeCmdKey
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:250,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:251,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:252,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:257,1
    - Dst: std::get<Privilege>
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:262,1
    - Dst: ipmi::errorResponse
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:264,1
    - Dst: std::get<HandlerBase::ptr>
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:266,1
    - Dst: ipmi::makeCmdKey
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:270,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:271,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:272,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:277,1
    - Dst: std::get<Privilege>
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:283,1
    - Dst: ipmi::errorResponse
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:285,1
    - Dst: std::get<HandlerBase::ptr>
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:287,1
    - Dst: ipmi::errorResponse
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:290,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - ' handlers'
    - keyCommon
    - request
    argTypes:
    - std::unordered_map<unsigned int, HandlerTuple>
    - unsigned int
    - message::Request::ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 241
    functionDepth: 2
    functionLinenumber: 241
    functionLinenumberEnd: 291
    functionName: ipmi::executeIpmiCommandCommon
    functionSourceFile: /src/phosphor-host-ipmid/ipmid-new.cpp
    functionUses: 0
    functionsReached:
    - find
    - ipmi::errorResponse
    - std::get<Privilege>
    - ipmi::filterIpmiCommand
    - ipmi::makeCmdKey
    - end
    - lg2::debug
    - std::get<HandlerBase::ptr>
    linkageType: ''
    returnType: message::Response::ptr
    signature: "message::Response::ptr executeIpmiCommandCommon(\n    std::unordered_map<unsigned
      int, HandlerTuple>& handlers,\n    unsigned int keyCommon, message::Request::ptr
      request)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: message::Request::ptr::payload::unpack
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:297,1
    - Dst: ipmi::errorResponse
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:299,1
    - Dst: static_cast<Group>
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:301,1
    - Dst: ipmi::executeIpmiCommandCommon
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:305,1
    - Dst: ipmi::message::Payload::pack
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:307,1
    - Dst: message::Response::ptr::prepend
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:308,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - request
    argTypes:
    - message::Request::ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 293
    functionDepth: 3
    functionLinenumber: 293
    functionLinenumberEnd: 310
    functionName: ipmi::executeIpmiGroupCommand
    functionSourceFile: /src/phosphor-host-ipmid/ipmid-new.cpp
    functionUses: 0
    functionsReached:
    - static_cast<Group>
    - ipmi::errorResponse
    - ipmi::message::Payload::pack
    - message::Request::ptr::payload::unpack
    - message::Response::ptr::prepend
    - ipmi::executeIpmiCommandCommon
    linkageType: ''
    returnType: message::Response::ptr
    signature: message::Response::ptr executeIpmiGroupCommand(message::Request::ptr
      request)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: message::Request::ptr::payload::unpack
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:316,1
    - Dst: ipmi::errorResponse
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:318,1
    - Dst: static_cast<Iana>
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:320,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:322,1
    - Dst: ipmi::executeIpmiCommandCommon
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:325,1
    - Dst: ipmi::message::Payload::pack
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:327,1
    - Dst: message::Response::ptr::prepend
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:328,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - request
    argTypes:
    - message::Request::ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 312
    functionDepth: 3
    functionLinenumber: 312
    functionLinenumberEnd: 330
    functionName: ipmi::executeIpmiOemCommand
    functionSourceFile: /src/phosphor-host-ipmid/ipmid-new.cpp
    functionUses: 0
    functionsReached:
    - static_cast<Iana>
    - ipmi::errorResponse
    - message::Request::ptr::payload::unpack
    - ipmi::message::Payload::pack
    - lg2::debug
    - message::Response::ptr::prepend
    - ipmi::executeIpmiCommandCommon
    linkageType: ''
    returnType: message::Response::ptr
    signature: message::Response::ptr executeIpmiOemCommand(message::Request::ptr
      request)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::executeIpmiGroupCommand
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:337,1
    - Dst: ipmi::executeIpmiOemCommand
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:341,1
    - Dst: ipmi::executeIpmiCommandCommon
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:343,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - request
    argTypes:
    - message::Request::ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 332
    functionDepth: 4
    functionLinenumber: 332
    functionLinenumberEnd: 344
    functionName: ipmi::executeIpmiCommand
    functionSourceFile: /src/phosphor-host-ipmid/ipmid-new.cpp
    functionUses: 0
    functionsReached:
    - ipmi::executeIpmiOemCommand
    - ipmi::executeIpmiGroupCommand
    - ipmi::executeIpmiCommandCommon
    linkageType: ''
    returnType: message::Response::ptr
    signature: message::Response::ptr executeIpmiCommand(message::Request::ptr request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:351,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:352,1
    - Dst: std::find_if
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:353,1
    - Dst: erase
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' c'
    - p
    argTypes:
    - AssocContainer
    - UnaryPredicate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 357
    functionName: ipmi::utils::assoc_erase_if
    functionSourceFile: /src/phosphor-host-ipmid/ipmid-new.cpp
    functionUses: 0
    functionsReached:
    - std::find_if
    - end
    - begin
    - erase
    linkageType: ''
    returnType: void
    signature: void assoc_erase_if(AssocContainer& c, UnaryPredicate p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:351,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:352,1
    - Dst: std::find_if
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:353,1
    - Dst: erase
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' c'
    - p
    argTypes:
    - AssocContainer
    - UnaryPredicate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 357
    functionName: ipmi::utils::assoc_erase_if
    functionSourceFile: /src/phosphor-host-ipmid/ipmid-new.cpp
    functionUses: 0
    functionsReached:
    - std::find_if
    - end
    - begin
    - erase
    linkageType: ''
    returnType: void
    signature: void assoc_erase_if(AssocContainer& c, UnaryPredicate p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: async_method_call
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:370,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:375,1
    - Dst: substr
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:381,1
    - Dst: std::strlen
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:381,1
    - Dst: ipmi::getChannelByName
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:384,1
    - Dst: lg2::info
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:386,1
    - Dst: lg2::info
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:392,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - ' conn'
    - ' name'
    argTypes:
    - sdbusplus::asio::connection
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 398
    functionName: ipmi::updateOwners
    functionSourceFile: /src/phosphor-host-ipmid/ipmid-new.cpp
    functionUses: 0
    functionsReached:
    - ipmi::getChannelByName
    - std::strlen
    - substr
    - lg2::info
    - lg2::error
    - async_method_call
    linkageType: ''
    returnType: void
    signature: void updateOwners(sdbusplus::asio::connection& conn, const std::string&
      name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: async_method_call
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:402,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:407,1
    - Dst: message
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:408,1
    - Dst: std::exit
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:409,1
    - Dst: std::sort
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:413,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:413,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:413,1
    - Dst: std::string
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:416,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:419,1
    - Dst: ipmi::updateOwners
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:421,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ' conn'
    argTypes:
    - sdbusplus::asio::connection
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 400
    functionDepth: 2
    functionLinenumber: 400
    functionLinenumberEnd: 427
    functionName: ipmi::doListNames
    functionSourceFile: /src/phosphor-host-ipmid/ipmid-new.cpp
    functionUses: 0
    functionsReached:
    - lg2::error
    - std::exit
    - std::sort
    - std::string
    - end
    - begin
    - find
    - message
    - async_method_call
    - ipmi::updateOwners
    linkageType: ''
    returnType: void
    signature: void doListNames(sdbusplus::asio::connection& conn)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:435,1
    - Dst: std::string::empty
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:437,1
    - Dst: std::string::starts_with
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:439,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:442,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:443,1
    - Dst: erase
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:445,1
    - Dst: std::string::empty
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:449,1
    - Dst: std::string::substr
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:452,1
    - Dst: std::strlen
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:452,1
    - Dst: ipmi::getChannelByName
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:455,1
    - Dst: lg2::info
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:457,1
    - Dst: lg2::info
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:462,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - ' message'
    argTypes:
    - sdbusplus::message_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 429
    functionDepth: 1
    functionLinenumber: 429
    functionLinenumberEnd: 466
    functionName: ipmi::nameChangeHandler
    functionSourceFile: /src/phosphor-host-ipmid/ipmid-new.cpp
    functionUses: 0
    functionsReached:
    - ipmi::getChannelByName
    - read
    - std::strlen
    - erase
    - std::string::substr
    - end
    - find
    - lg2::info
    - std::string::empty
    - std::string::starts_with
    linkageType: ''
    returnType: void
    signature: void nameChangeHandler(sdbusplus::message_t& message)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: async_method_call
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:370,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:375,1
    - Dst: substr
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:381,1
    - Dst: std::strlen
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:381,1
    - Dst: ipmi::getChannelByName
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:384,1
    - Dst: lg2::info
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:386,1
    - Dst: lg2::info
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:392,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - ' conn'
    - ' name'
    argTypes:
    - sdbusplus::asio::connection
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 398
    functionName: ipmi::updateOwners
    functionSourceFile: /src/phosphor-host-ipmid/ipmid-new.cpp
    functionUses: 1
    functionsReached:
    - ipmi::getChannelByName
    - std::strlen
    - substr
    - lg2::info
    - lg2::error
    - async_method_call
    linkageType: ''
    returnType: void
    signature: void updateOwners(sdbusplus::asio::connection& conn, const std::string&
      name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: async_method_call
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:402,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:407,1
    - Dst: message
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:408,1
    - Dst: std::exit
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:409,1
    - Dst: std::sort
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:413,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:413,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:413,1
    - Dst: std::string
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:416,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:419,1
    - Dst: ipmi::updateOwners
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:421,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ' conn'
    argTypes:
    - sdbusplus::asio::connection
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 400
    functionDepth: 2
    functionLinenumber: 400
    functionLinenumberEnd: 427
    functionName: ipmi::doListNames
    functionSourceFile: /src/phosphor-host-ipmid/ipmid-new.cpp
    functionUses: 0
    functionsReached:
    - lg2::error
    - std::exit
    - std::sort
    - std::string
    - end
    - begin
    - find
    - message
    - async_method_call
    - ipmi::updateOwners
    linkageType: ''
    returnType: void
    signature: void doListNames(sdbusplus::asio::connection& conn)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:435,1
    - Dst: std::string::empty
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:437,1
    - Dst: std::string::starts_with
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:439,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:442,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:443,1
    - Dst: erase
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:445,1
    - Dst: std::string::empty
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:449,1
    - Dst: std::string::substr
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:452,1
    - Dst: std::strlen
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:452,1
    - Dst: ipmi::getChannelByName
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:455,1
    - Dst: lg2::info
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:457,1
    - Dst: lg2::info
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:462,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - ' message'
    argTypes:
    - sdbusplus::message_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 429
    functionDepth: 1
    functionLinenumber: 429
    functionLinenumberEnd: 466
    functionName: ipmi::nameChangeHandler
    functionSourceFile: /src/phosphor-host-ipmid/ipmid-new.cpp
    functionUses: 0
    functionsReached:
    - ipmi::getChannelByName
    - read
    - std::strlen
    - erase
    - std::string::substr
    - end
    - find
    - lg2::info
    - std::string::empty
    - std::string::starts_with
    linkageType: ''
    returnType: void
    signature: void nameChangeHandler(sdbusplus::message_t& message)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_sender
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:474,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:475,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:476,1
    - Dst: ipmi::getChannelByName
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:483,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - sdbusplus::message_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 471
    functionDepth: 1
    functionLinenumber: 471
    functionLinenumberEnd: 489
    functionName: ipmi::channelFromMessage
    functionSourceFile: /src/phosphor-host-ipmid/ipmid-new.cpp
    functionUses: 0
    functionsReached:
    - ipmi::getChannelByName
    - get_sender
    - end
    - find
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t channelFromMessage(sdbusplus::message_t& msg)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: std::make_tuple
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:500,1
    - Dst: get_sender
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:502,1
    - Dst: ipmi::channelFromMessage
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:510,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:514,1
    - Dst: dbusResponse
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:518,1
    - Dst: ipmi::getChannelSessionSupport
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:523,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:527,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:528,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:529,1
    - Dst: static_cast<Privilege>
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:530,1
    - Dst: std::get<int>
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:530,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:531,1
    - Dst: std::get<int>
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:531,1
    - Dst: static_cast<uint32_t>
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:533,1
    - Dst: std::get<uint32_t>
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:533,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:537,1
    - Dst: dbusResponse
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:541,1
    - Dst: ipmi::getChannelInfo
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:552,1
    - Dst: static_cast<EChannelMediumType>
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:553,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:556,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:557,1
    - Dst: std::holds_alternative<int>
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:559,1
    - Dst: std::get<int>
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:561,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:564,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:565,1
    - Dst: std::holds_alternative<int>
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:567,1
    - Dst: std::get<int>
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:569,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:575,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:579,1
    - Dst: std::make_shared<ipmi::Context>
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:581,1
    - Dst: getSdBus
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:582,1
    - Dst: std::make_shared<ipmi::message::Request>
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:584,1
    - Dst: std::forward<ipmi::SecureBuffer>
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:585,1
    - Dst: ipmi::executeIpmiCommand
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:586,1
    - Dst: dbusResponse
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:588,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 7
    argNames:
    - yield
    - ' m'
    - netFn
    - lun
    - cmd
    - ' data'
    - ' options'
    argTypes:
    - boost::asio::yield_context
    - sdbusplus::message_t
    - NetFn
    - uint8_t
    - Cmd
    - ipmi::SecureBuffer
    - std::map<std::string, ipmi::Value>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 492
    functionDepth: 5
    functionLinenumber: 492
    functionLinenumberEnd: 589
    functionName: ipmi::executionEntry
    functionSourceFile: /src/phosphor-host-ipmid/ipmid-new.cpp
    functionUses: 0
    functionsReached:
    - ipmi::channelFromMessage
    - std::get<int>
    - dbusResponse
    - getSdBus
    - ipmi::getChannelInfo
    - static_cast<uint32_t>
    - static_cast<uint8_t>
    - std::holds_alternative<int>
    - find
    - std::make_shared<ipmi::message::Request>
    - std::get<uint32_t>
    - static_cast<Privilege>
    - ipmi::getChannelSessionSupport
    - end
    - std::forward<ipmi::SecureBuffer>
    - ipmi::executeIpmiCommand
    - std::make_tuple
    - get_sender
    - lg2::debug
    - lg2::error
    - std::make_shared<ipmi::Context>
    - static_cast<EChannelMediumType>
    - at
    linkageType: ''
    returnType: auto
    signature: "auto executionEntry(boost::asio::yield_context yield, sdbusplus::message_t&
      m,\n                    NetFn netFn, uint8_t lun, Cmd cmd, ipmi::SecureBuffer&
      data,\n                    std::map<std::string, ipmi::Value>& options)"
  - 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: ipmi::IpmiProvider
    functionSourceFile: /src/phosphor-host-ipmid/ipmid-new.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IpmiProvider()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 603
    functionName: ipmi::IpmiProvider
    functionSourceFile: /src/phosphor-host-ipmid/ipmid-new.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IpmiProvider(const IpmiProvider&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 604
    functionName: '& operator=(const IpmiProvider&)'
    functionSourceFile: /src/phosphor-host-ipmid/ipmid-new.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IpmiProvider
    signature: IpmiProvider & operator=(const IpmiProvider&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 605
    functionDepth: 0
    functionLinenumber: 605
    functionLinenumberEnd: 605
    functionName: ipmi::IpmiProvider
    functionSourceFile: /src/phosphor-host-ipmid/ipmid-new.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IpmiProvider(IpmiProvider&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 606
    functionName: '& operator=(IpmiProvider&&)'
    functionSourceFile: /src/phosphor-host-ipmid/ipmid-new.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IpmiProvider
    signature: IpmiProvider & operator=(IpmiProvider&&)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:613,1
    - Dst: dlopen
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:616,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:616,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:620,1
    - Dst: ipmi::currentExceptionType
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:625,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:626,1
    - Dst: ipmi::isOpen
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:629,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:631,1
    - Dst: dlerror
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:632,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 611
    functionDepth: 1
    functionLinenumber: 611
    functionLinenumberEnd: 634
    functionName: ipmi::IpmiProvider
    functionSourceFile: /src/phosphor-host-ipmid/ipmid-new.cpp
    functionUses: 0
    functionsReached:
    - ipmi::currentExceptionType
    - ipmi::isOpen
    - c_str
    - dlopen
    - lg2::debug
    - dlerror
    - lg2::error
    linkageType: ''
    returnType: void
    signature: void IpmiProvider(const char* fname)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::isOpen
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:638,1
    - Dst: dlclose
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:640,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 636
    functionDepth: 1
    functionLinenumber: 636
    functionLinenumberEnd: 642
    functionName: ~IpmiProvider()
    functionSourceFile: /src/phosphor-host-ipmid/ipmid-new.cpp
    functionUses: 0
    functionsReached:
    - dlclose
    - ipmi::isOpen
    linkageType: ''
    returnType: void
    signature: void ~IpmiProvider()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 643
    functionDepth: 0
    functionLinenumber: 643
    functionLinenumberEnd: 646
    functionName: ipmi::isOpen
    functionSourceFile: /src/phosphor-host-ipmid/ipmid-new.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isOpen() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fs::directory_iterator
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:656,1
    - Dst: path
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:659,1
    - Dst: fs::is_symlink
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:660,1
    - Dst: fs::path::has_extension
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:665,1
    - Dst: fs::path::extension
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:667,1
    - Dst: std::vector::push_back
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:670,1
    - Dst: path
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:670,1
    - Dst: fs::path::replace_extension
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:673,1
    - Dst: std::sort
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:676,1
    - Dst: std::vector::begin
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:676,1
    - Dst: std::vector::end
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:676,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:682,1
    - Dst: std::forward_list::emplace_front
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:684,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:684,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - ' ipmiLibsPath'
    argTypes:
    - fs::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 653
    functionDepth: 0
    functionLinenumber: 653
    functionLinenumberEnd: 687
    functionName: ipmi::loadProviders
    functionSourceFile: /src/phosphor-host-ipmid/ipmid-new.cpp
    functionUses: 0
    functionsReached:
    - path
    - std::vector::begin
    - std::vector::end
    - fs::path::has_extension
    - fs::path::replace_extension
    - std::sort
    - fs::path::extension
    - c_str
    - fs::is_symlink
    - lg2::debug
    - std::vector::push_back
    - std::forward_list::emplace_front
    - fs::directory_iterator
    linkageType: ''
    returnType: std::forward_list<IpmiProvider>
    signature: std::forward_list<IpmiProvider> loadProviders(const fs::path& ipmiLibsPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cluster
    - cmd
    argTypes:
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: ipmi::makeCmdKey
    functionSourceFile: /src/phosphor-host-ipmid/ipmid-new.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int makeCmdKey(unsigned int cluster, unsigned int cmd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: makeCmdKey
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:148,1
    - Dst: std::get<HandlerBase::ptr>
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:153,1
    - Dst: std::get<int>
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:153,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 5
    argNames:
    - prio
    - netFn
    - cmd
    - priv
    - handler
    argTypes:
    - int
    - NetFn
    - Cmd
    - Privilege
    - HandlerBase::ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 159
    functionName: ipmi::impl::registerHandler
    functionSourceFile: /src/phosphor-host-ipmid/ipmid-new.cpp
    functionUses: 0
    functionsReached:
    - makeCmdKey
    - std::get<HandlerBase::ptr>
    - std::get<int>
    linkageType: ''
    returnType: bool
    signature: "bool registerHandler(int prio, NetFn netFn, Cmd cmd, Privilege priv,\n
      \                    HandlerBase::ptr handler)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: makeCmdKey
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:166,1
    - Dst: std::get<HandlerBase::ptr>
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:171,1
    - Dst: std::get<int>
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:171,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 5
    argNames:
    - prio
    - group
    - cmd
    - priv
    - handler
    argTypes:
    - int
    - Group
    - Cmd
    - Privilege
    - HandlerBase::ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 177
    functionName: ipmi::impl::registerGroupHandler
    functionSourceFile: /src/phosphor-host-ipmid/ipmid-new.cpp
    functionUses: 0
    functionsReached:
    - makeCmdKey
    - std::get<HandlerBase::ptr>
    - std::get<int>
    linkageType: ''
    returnType: bool
    signature: "bool registerGroupHandler(int prio, Group group, Cmd cmd, Privilege
      priv,\n                          HandlerBase::ptr handler)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: makeCmdKey
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:184,1
    - Dst: std::get<HandlerBase::ptr>
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:189,1
    - Dst: std::get<int>
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:189,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:192,1
    - Dst: lg2::warning
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:198,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - prio
    - iana
    - cmd
    - priv
    - handler
    argTypes:
    - int
    - Iana
    - Cmd
    - Privilege
    - HandlerBase::ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 202
    functionName: ipmi::impl::registerOemHandler
    functionSourceFile: /src/phosphor-host-ipmid/ipmid-new.cpp
    functionUses: 0
    functionsReached:
    - makeCmdKey
    - std::get<int>
    - lg2::warning
    - lg2::debug
    - std::get<HandlerBase::ptr>
    linkageType: ''
    returnType: bool
    signature: "bool registerOemHandler(int prio, Iana iana, Cmd cmd, Privilege priv,\n
      \                       HandlerBase::ptr handler)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:208,1
    - Dst: std::get<int>
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:208,1
    - Dst: front
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:208,1
    - Dst: emplace_front
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:210,1
    - Dst: std::make_tuple
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:210,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:214,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:215,1
    - Dst: std::get<int>
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:215,1
    - Dst: emplace_after
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:219,1
    - Dst: std::make_tuple
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:219,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - prio
    - filter
    argTypes:
    - int
    - FilterBase::ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 220
    functionName: ipmi::impl::registerFilter
    functionSourceFile: /src/phosphor-host-ipmid/ipmid-new.cpp
    functionUses: 0
    functionsReached:
    - emplace_after
    - emplace_front
    - std::get<int>
    - front
    - std::make_tuple
    - end
    - begin
    - empty
    linkageType: ''
    returnType: void
    signature: void registerFilter(int prio, FilterBase::ptr filter)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: makeCmdKey
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:148,1
    - Dst: std::get<HandlerBase::ptr>
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:153,1
    - Dst: std::get<int>
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:153,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 5
    argNames:
    - prio
    - netFn
    - cmd
    - priv
    - handler
    argTypes:
    - int
    - NetFn
    - Cmd
    - Privilege
    - HandlerBase::ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 159
    functionName: ipmi::impl::registerHandler
    functionSourceFile: /src/phosphor-host-ipmid/ipmid-new.cpp
    functionUses: 0
    functionsReached:
    - makeCmdKey
    - std::get<HandlerBase::ptr>
    - std::get<int>
    linkageType: ''
    returnType: bool
    signature: "bool registerHandler(int prio, NetFn netFn, Cmd cmd, Privilege priv,\n
      \                    HandlerBase::ptr handler)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: makeCmdKey
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:166,1
    - Dst: std::get<HandlerBase::ptr>
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:171,1
    - Dst: std::get<int>
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:171,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 5
    argNames:
    - prio
    - group
    - cmd
    - priv
    - handler
    argTypes:
    - int
    - Group
    - Cmd
    - Privilege
    - HandlerBase::ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 177
    functionName: ipmi::impl::registerGroupHandler
    functionSourceFile: /src/phosphor-host-ipmid/ipmid-new.cpp
    functionUses: 0
    functionsReached:
    - makeCmdKey
    - std::get<HandlerBase::ptr>
    - std::get<int>
    linkageType: ''
    returnType: bool
    signature: "bool registerGroupHandler(int prio, Group group, Cmd cmd, Privilege
      priv,\n                          HandlerBase::ptr handler)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: makeCmdKey
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:184,1
    - Dst: std::get<HandlerBase::ptr>
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:189,1
    - Dst: std::get<int>
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:189,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:192,1
    - Dst: lg2::warning
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:198,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - prio
    - iana
    - cmd
    - priv
    - handler
    argTypes:
    - int
    - Iana
    - Cmd
    - Privilege
    - HandlerBase::ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 202
    functionName: ipmi::impl::registerOemHandler
    functionSourceFile: /src/phosphor-host-ipmid/ipmid-new.cpp
    functionUses: 0
    functionsReached:
    - makeCmdKey
    - std::get<int>
    - lg2::warning
    - lg2::debug
    - std::get<HandlerBase::ptr>
    linkageType: ''
    returnType: bool
    signature: "bool registerOemHandler(int prio, Iana iana, Cmd cmd, Privilege priv,\n
      \                       HandlerBase::ptr handler)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:208,1
    - Dst: std::get<int>
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:208,1
    - Dst: front
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:208,1
    - Dst: emplace_front
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:210,1
    - Dst: std::make_tuple
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:210,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:214,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:215,1
    - Dst: std::get<int>
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:215,1
    - Dst: emplace_after
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:219,1
    - Dst: std::make_tuple
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:219,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - prio
    - filter
    argTypes:
    - int
    - FilterBase::ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 220
    functionName: ipmi::impl::registerFilter
    functionSourceFile: /src/phosphor-host-ipmid/ipmid-new.cpp
    functionUses: 0
    functionsReached:
    - emplace_after
    - emplace_front
    - std::get<int>
    - front
    - std::make_tuple
    - end
    - begin
    - empty
    linkageType: ''
    returnType: void
    signature: void registerFilter(int prio, FilterBase::ptr filter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::get<FilterBase::ptr>
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:231,1
    - Dst: FilterBase::ptr::call
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:232,1
    - Dst: ipmi::errorResponse
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:235,1
    - Dst: message::Response::ptr
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:238,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - request
    argTypes:
    - message::Request::ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 239
    functionName: ipmi::filterIpmiCommand
    functionSourceFile: /src/phosphor-host-ipmid/ipmid-new.cpp
    functionUses: 1
    functionsReached:
    - std::get<FilterBase::ptr>
    - message::Response::ptr
    - FilterBase::ptr::call
    - ipmi::errorResponse
    linkageType: ''
    returnType: message::Response::ptr
    signature: message::Response::ptr filterIpmiCommand(message::Request::ptr request)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::filterIpmiCommand
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:247,1
    - Dst: ipmi::makeCmdKey
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:250,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:251,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:252,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:257,1
    - Dst: std::get<Privilege>
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:262,1
    - Dst: ipmi::errorResponse
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:264,1
    - Dst: std::get<HandlerBase::ptr>
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:266,1
    - Dst: ipmi::makeCmdKey
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:270,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:271,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:272,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:277,1
    - Dst: std::get<Privilege>
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:283,1
    - Dst: ipmi::errorResponse
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:285,1
    - Dst: std::get<HandlerBase::ptr>
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:287,1
    - Dst: ipmi::errorResponse
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:290,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - ' handlers'
    - keyCommon
    - request
    argTypes:
    - std::unordered_map<unsigned int, HandlerTuple>
    - unsigned int
    - message::Request::ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 241
    functionDepth: 2
    functionLinenumber: 241
    functionLinenumberEnd: 291
    functionName: ipmi::executeIpmiCommandCommon
    functionSourceFile: /src/phosphor-host-ipmid/ipmid-new.cpp
    functionUses: 3
    functionsReached:
    - find
    - ipmi::errorResponse
    - std::get<Privilege>
    - ipmi::filterIpmiCommand
    - ipmi::makeCmdKey
    - end
    - lg2::debug
    - std::get<HandlerBase::ptr>
    linkageType: ''
    returnType: message::Response::ptr
    signature: "message::Response::ptr executeIpmiCommandCommon(\n    std::unordered_map<unsigned
      int, HandlerTuple>& handlers,\n    unsigned int keyCommon, message::Request::ptr
      request)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: message::Request::ptr::payload::unpack
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:297,1
    - Dst: ipmi::errorResponse
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:299,1
    - Dst: static_cast<Group>
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:301,1
    - Dst: ipmi::executeIpmiCommandCommon
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:305,1
    - Dst: ipmi::message::Payload::pack
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:307,1
    - Dst: message::Response::ptr::prepend
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:308,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - request
    argTypes:
    - message::Request::ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 293
    functionDepth: 3
    functionLinenumber: 293
    functionLinenumberEnd: 310
    functionName: ipmi::executeIpmiGroupCommand
    functionSourceFile: /src/phosphor-host-ipmid/ipmid-new.cpp
    functionUses: 1
    functionsReached:
    - static_cast<Group>
    - ipmi::errorResponse
    - ipmi::message::Payload::pack
    - message::Request::ptr::payload::unpack
    - message::Response::ptr::prepend
    - ipmi::executeIpmiCommandCommon
    linkageType: ''
    returnType: message::Response::ptr
    signature: message::Response::ptr executeIpmiGroupCommand(message::Request::ptr
      request)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: message::Request::ptr::payload::unpack
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:316,1
    - Dst: ipmi::errorResponse
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:318,1
    - Dst: static_cast<Iana>
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:320,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:322,1
    - Dst: ipmi::executeIpmiCommandCommon
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:325,1
    - Dst: ipmi::message::Payload::pack
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:327,1
    - Dst: message::Response::ptr::prepend
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:328,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - request
    argTypes:
    - message::Request::ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 312
    functionDepth: 3
    functionLinenumber: 312
    functionLinenumberEnd: 330
    functionName: ipmi::executeIpmiOemCommand
    functionSourceFile: /src/phosphor-host-ipmid/ipmid-new.cpp
    functionUses: 1
    functionsReached:
    - static_cast<Iana>
    - ipmi::errorResponse
    - message::Request::ptr::payload::unpack
    - ipmi::message::Payload::pack
    - lg2::debug
    - message::Response::ptr::prepend
    - ipmi::executeIpmiCommandCommon
    linkageType: ''
    returnType: message::Response::ptr
    signature: message::Response::ptr executeIpmiOemCommand(message::Request::ptr
      request)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::executeIpmiGroupCommand
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:337,1
    - Dst: ipmi::executeIpmiOemCommand
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:341,1
    - Dst: ipmi::executeIpmiCommandCommon
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:343,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - request
    argTypes:
    - message::Request::ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 332
    functionDepth: 4
    functionLinenumber: 332
    functionLinenumberEnd: 344
    functionName: ipmi::executeIpmiCommand
    functionSourceFile: /src/phosphor-host-ipmid/ipmid-new.cpp
    functionUses: 1
    functionsReached:
    - ipmi::executeIpmiOemCommand
    - ipmi::executeIpmiGroupCommand
    - ipmi::executeIpmiCommandCommon
    linkageType: ''
    returnType: message::Response::ptr
    signature: message::Response::ptr executeIpmiCommand(message::Request::ptr request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:351,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:352,1
    - Dst: std::find_if
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:353,1
    - Dst: erase
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' c'
    - p
    argTypes:
    - AssocContainer
    - UnaryPredicate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 357
    functionName: ipmi::utils::assoc_erase_if
    functionSourceFile: /src/phosphor-host-ipmid/ipmid-new.cpp
    functionUses: 0
    functionsReached:
    - std::find_if
    - end
    - begin
    - erase
    linkageType: ''
    returnType: void
    signature: void assoc_erase_if(AssocContainer& c, UnaryPredicate p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:351,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:352,1
    - Dst: std::find_if
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:353,1
    - Dst: erase
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' c'
    - p
    argTypes:
    - AssocContainer
    - UnaryPredicate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 357
    functionName: ipmi::utils::assoc_erase_if
    functionSourceFile: /src/phosphor-host-ipmid/ipmid-new.cpp
    functionUses: 0
    functionsReached:
    - std::find_if
    - end
    - begin
    - erase
    linkageType: ''
    returnType: void
    signature: void assoc_erase_if(AssocContainer& c, UnaryPredicate p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: async_method_call
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:370,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:375,1
    - Dst: substr
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:381,1
    - Dst: std::strlen
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:381,1
    - Dst: ipmi::getChannelByName
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:384,1
    - Dst: lg2::info
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:386,1
    - Dst: lg2::info
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:392,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - ' conn'
    - ' name'
    argTypes:
    - sdbusplus::asio::connection
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 398
    functionName: ipmi::updateOwners
    functionSourceFile: /src/phosphor-host-ipmid/ipmid-new.cpp
    functionUses: 2
    functionsReached:
    - ipmi::getChannelByName
    - std::strlen
    - substr
    - lg2::info
    - lg2::error
    - async_method_call
    linkageType: ''
    returnType: void
    signature: void updateOwners(sdbusplus::asio::connection& conn, const std::string&
      name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: async_method_call
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:402,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:407,1
    - Dst: message
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:408,1
    - Dst: std::exit
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:409,1
    - Dst: std::sort
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:413,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:413,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:413,1
    - Dst: std::string
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:416,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:419,1
    - Dst: ipmi::updateOwners
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:421,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ' conn'
    argTypes:
    - sdbusplus::asio::connection
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 400
    functionDepth: 2
    functionLinenumber: 400
    functionLinenumberEnd: 427
    functionName: ipmi::doListNames
    functionSourceFile: /src/phosphor-host-ipmid/ipmid-new.cpp
    functionUses: 0
    functionsReached:
    - lg2::error
    - std::exit
    - std::sort
    - std::string
    - end
    - begin
    - find
    - message
    - async_method_call
    - ipmi::updateOwners
    linkageType: ''
    returnType: void
    signature: void doListNames(sdbusplus::asio::connection& conn)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:435,1
    - Dst: std::string::empty
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:437,1
    - Dst: std::string::starts_with
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:439,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:442,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:443,1
    - Dst: erase
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:445,1
    - Dst: std::string::empty
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:449,1
    - Dst: std::string::substr
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:452,1
    - Dst: std::strlen
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:452,1
    - Dst: ipmi::getChannelByName
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:455,1
    - Dst: lg2::info
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:457,1
    - Dst: lg2::info
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:462,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - ' message'
    argTypes:
    - sdbusplus::message_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 429
    functionDepth: 1
    functionLinenumber: 429
    functionLinenumberEnd: 466
    functionName: ipmi::nameChangeHandler
    functionSourceFile: /src/phosphor-host-ipmid/ipmid-new.cpp
    functionUses: 0
    functionsReached:
    - ipmi::getChannelByName
    - read
    - std::strlen
    - erase
    - std::string::substr
    - end
    - find
    - lg2::info
    - std::string::empty
    - std::string::starts_with
    linkageType: ''
    returnType: void
    signature: void nameChangeHandler(sdbusplus::message_t& message)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: async_method_call
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:370,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:375,1
    - Dst: substr
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:381,1
    - Dst: std::strlen
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:381,1
    - Dst: ipmi::getChannelByName
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:384,1
    - Dst: lg2::info
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:386,1
    - Dst: lg2::info
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:392,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - ' conn'
    - ' name'
    argTypes:
    - sdbusplus::asio::connection
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 398
    functionName: ipmi::updateOwners
    functionSourceFile: /src/phosphor-host-ipmid/ipmid-new.cpp
    functionUses: 3
    functionsReached:
    - ipmi::getChannelByName
    - std::strlen
    - substr
    - lg2::info
    - lg2::error
    - async_method_call
    linkageType: ''
    returnType: void
    signature: void updateOwners(sdbusplus::asio::connection& conn, const std::string&
      name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: async_method_call
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:402,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:407,1
    - Dst: message
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:408,1
    - Dst: std::exit
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:409,1
    - Dst: std::sort
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:413,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:413,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:413,1
    - Dst: std::string
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:416,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:419,1
    - Dst: ipmi::updateOwners
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:421,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ' conn'
    argTypes:
    - sdbusplus::asio::connection
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 400
    functionDepth: 2
    functionLinenumber: 400
    functionLinenumberEnd: 427
    functionName: ipmi::doListNames
    functionSourceFile: /src/phosphor-host-ipmid/ipmid-new.cpp
    functionUses: 0
    functionsReached:
    - lg2::error
    - std::exit
    - std::sort
    - std::string
    - end
    - begin
    - find
    - message
    - async_method_call
    - ipmi::updateOwners
    linkageType: ''
    returnType: void
    signature: void doListNames(sdbusplus::asio::connection& conn)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:435,1
    - Dst: std::string::empty
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:437,1
    - Dst: std::string::starts_with
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:439,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:442,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:443,1
    - Dst: erase
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:445,1
    - Dst: std::string::empty
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:449,1
    - Dst: std::string::substr
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:452,1
    - Dst: std::strlen
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:452,1
    - Dst: ipmi::getChannelByName
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:455,1
    - Dst: lg2::info
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:457,1
    - Dst: lg2::info
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:462,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - ' message'
    argTypes:
    - sdbusplus::message_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 429
    functionDepth: 1
    functionLinenumber: 429
    functionLinenumberEnd: 466
    functionName: ipmi::nameChangeHandler
    functionSourceFile: /src/phosphor-host-ipmid/ipmid-new.cpp
    functionUses: 0
    functionsReached:
    - ipmi::getChannelByName
    - read
    - std::strlen
    - erase
    - std::string::substr
    - end
    - find
    - lg2::info
    - std::string::empty
    - std::string::starts_with
    linkageType: ''
    returnType: void
    signature: void nameChangeHandler(sdbusplus::message_t& message)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_sender
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:474,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:475,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:476,1
    - Dst: ipmi::getChannelByName
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:483,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - sdbusplus::message_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 471
    functionDepth: 1
    functionLinenumber: 471
    functionLinenumberEnd: 489
    functionName: ipmi::channelFromMessage
    functionSourceFile: /src/phosphor-host-ipmid/ipmid-new.cpp
    functionUses: 1
    functionsReached:
    - ipmi::getChannelByName
    - get_sender
    - end
    - find
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t channelFromMessage(sdbusplus::message_t& msg)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: std::make_tuple
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:500,1
    - Dst: get_sender
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:502,1
    - Dst: ipmi::channelFromMessage
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:510,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:514,1
    - Dst: dbusResponse
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:518,1
    - Dst: ipmi::getChannelSessionSupport
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:523,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:527,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:528,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:529,1
    - Dst: static_cast<Privilege>
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:530,1
    - Dst: std::get<int>
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:530,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:531,1
    - Dst: std::get<int>
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:531,1
    - Dst: static_cast<uint32_t>
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:533,1
    - Dst: std::get<uint32_t>
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:533,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:537,1
    - Dst: dbusResponse
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:541,1
    - Dst: ipmi::getChannelInfo
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:552,1
    - Dst: static_cast<EChannelMediumType>
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:553,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:556,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:557,1
    - Dst: std::holds_alternative<int>
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:559,1
    - Dst: std::get<int>
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:561,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:564,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:565,1
    - Dst: std::holds_alternative<int>
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:567,1
    - Dst: std::get<int>
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:569,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:575,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:579,1
    - Dst: std::make_shared<ipmi::Context>
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:581,1
    - Dst: getSdBus
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:582,1
    - Dst: std::make_shared<ipmi::message::Request>
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:584,1
    - Dst: std::forward<ipmi::SecureBuffer>
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:585,1
    - Dst: ipmi::executeIpmiCommand
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:586,1
    - Dst: dbusResponse
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:588,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 7
    argNames:
    - yield
    - ' m'
    - netFn
    - lun
    - cmd
    - ' data'
    - ' options'
    argTypes:
    - boost::asio::yield_context
    - sdbusplus::message_t
    - NetFn
    - uint8_t
    - Cmd
    - ipmi::SecureBuffer
    - std::map<std::string, ipmi::Value>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 492
    functionDepth: 5
    functionLinenumber: 492
    functionLinenumberEnd: 589
    functionName: ipmi::executionEntry
    functionSourceFile: /src/phosphor-host-ipmid/ipmid-new.cpp
    functionUses: 0
    functionsReached:
    - ipmi::channelFromMessage
    - std::get<int>
    - dbusResponse
    - getSdBus
    - ipmi::getChannelInfo
    - static_cast<uint32_t>
    - static_cast<uint8_t>
    - std::holds_alternative<int>
    - find
    - std::make_shared<ipmi::message::Request>
    - std::get<uint32_t>
    - static_cast<Privilege>
    - ipmi::getChannelSessionSupport
    - end
    - std::forward<ipmi::SecureBuffer>
    - ipmi::executeIpmiCommand
    - std::make_tuple
    - get_sender
    - lg2::debug
    - lg2::error
    - std::make_shared<ipmi::Context>
    - static_cast<EChannelMediumType>
    - at
    linkageType: ''
    returnType: auto
    signature: "auto executionEntry(boost::asio::yield_context yield, sdbusplus::message_t&
      m,\n                    NetFn netFn, uint8_t lun, Cmd cmd, ipmi::SecureBuffer&
      data,\n                    std::map<std::string, ipmi::Value>& options)"
  - 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: ipmi::IpmiProvider
    functionSourceFile: /src/phosphor-host-ipmid/ipmid-new.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IpmiProvider()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 603
    functionName: ipmi::IpmiProvider
    functionSourceFile: /src/phosphor-host-ipmid/ipmid-new.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IpmiProvider(const IpmiProvider&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 604
    functionName: '& operator=(const IpmiProvider&)'
    functionSourceFile: /src/phosphor-host-ipmid/ipmid-new.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IpmiProvider
    signature: IpmiProvider & operator=(const IpmiProvider&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 605
    functionDepth: 0
    functionLinenumber: 605
    functionLinenumberEnd: 605
    functionName: ipmi::IpmiProvider
    functionSourceFile: /src/phosphor-host-ipmid/ipmid-new.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IpmiProvider(IpmiProvider&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 606
    functionName: '& operator=(IpmiProvider&&)'
    functionSourceFile: /src/phosphor-host-ipmid/ipmid-new.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IpmiProvider
    signature: IpmiProvider & operator=(IpmiProvider&&)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:613,1
    - Dst: dlopen
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:616,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:616,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:620,1
    - Dst: ipmi::currentExceptionType
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:625,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:626,1
    - Dst: ipmi::isOpen
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:629,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:631,1
    - Dst: dlerror
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:632,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 611
    functionDepth: 1
    functionLinenumber: 611
    functionLinenumberEnd: 634
    functionName: ipmi::IpmiProvider
    functionSourceFile: /src/phosphor-host-ipmid/ipmid-new.cpp
    functionUses: 0
    functionsReached:
    - ipmi::currentExceptionType
    - ipmi::isOpen
    - c_str
    - dlopen
    - lg2::debug
    - dlerror
    - lg2::error
    linkageType: ''
    returnType: void
    signature: void IpmiProvider(const char* fname)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isOpen
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:638,1
    - Dst: dlclose
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:640,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 636
    functionDepth: 0
    functionLinenumber: 636
    functionLinenumberEnd: 642
    functionName: ~IpmiProvider()
    functionSourceFile: /src/phosphor-host-ipmid/ipmid-new.cpp
    functionUses: 0
    functionsReached:
    - dlclose
    - isOpen
    linkageType: ''
    returnType: void
    signature: void ~IpmiProvider()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 643
    functionDepth: 0
    functionLinenumber: 643
    functionLinenumberEnd: 646
    functionName: ipmi::isOpen
    functionSourceFile: /src/phosphor-host-ipmid/ipmid-new.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isOpen() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fs::directory_iterator
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:656,1
    - Dst: path
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:659,1
    - Dst: fs::is_symlink
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:660,1
    - Dst: fs::path::has_extension
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:665,1
    - Dst: fs::path::extension
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:667,1
    - Dst: std::vector::push_back
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:670,1
    - Dst: path
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:670,1
    - Dst: fs::path::replace_extension
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:673,1
    - Dst: std::sort
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:676,1
    - Dst: std::vector::begin
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:676,1
    - Dst: std::vector::end
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:676,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:682,1
    - Dst: std::forward_list::emplace_front
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:684,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:684,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - ' ipmiLibsPath'
    argTypes:
    - fs::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 653
    functionDepth: 0
    functionLinenumber: 653
    functionLinenumberEnd: 687
    functionName: ipmi::loadProviders
    functionSourceFile: /src/phosphor-host-ipmid/ipmid-new.cpp
    functionUses: 0
    functionsReached:
    - path
    - std::vector::begin
    - std::vector::end
    - fs::path::has_extension
    - fs::path::replace_extension
    - std::sort
    - fs::path::extension
    - c_str
    - fs::is_symlink
    - lg2::debug
    - std::vector::push_back
    - std::forward_list::emplace_front
    - fs::directory_iterator
    linkageType: ''
    returnType: std::forward_list<IpmiProvider>
    signature: std::forward_list<IpmiProvider> loadProviders(const fs::path& ipmiLibsPath)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::makeLegacyHandler
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:697,1
    - Dst: ipmi::impl::registerGroupHandler
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:729,1
    - Dst: ipmi::impl::registerHandler
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:734,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 5
    argNames:
    - netFn
    - cmd
    - context
    - handler
    - priv
    argTypes:
    - ipmi_netfn_t
    - ipmi_cmd_t
    - ipmi_context_t
    - ipmid_callback_t
    - ipmi_cmd_privilege_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 693
    functionDepth: 1
    functionLinenumber: 693
    functionLinenumberEnd: 737
    functionName: ipmi_register_callback
    functionSourceFile: /src/phosphor-host-ipmid/ipmid-new.cpp
    functionUses: 0
    functionsReached:
    - ipmi::impl::registerHandler
    - ipmi::makeLegacyHandler
    - ipmi::impl::registerGroupHandler
    linkageType: ''
    returnType: void
    signature: "void ipmi_register_callback(ipmi_netfn_t netFn, ipmi_cmd_t cmd,\n
      \                           ipmi_context_t context, ipmid_callback_t handler,\n
      \                           ipmi_cmd_privilege_t priv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 745
    functionName: ~LegacyRouter()
    functionSourceFile: /src/phosphor-host-ipmid/ipmid-new.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~LegacyRouter()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 748
    functionName: oem::LegacyRouter::activate
    functionSourceFile: /src/phosphor-host-ipmid/ipmid-new.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void activate() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::makeLegacyHandler
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:752,1
    - Dst: std::forward<Handler>
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:752,1
    - Dst: ipmi::impl::registerOemHandler
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:753,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - oen
    - cmd
    - handler
    argTypes:
    - Number
    - ipmi_cmd_t
    - Handler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 750
    functionDepth: 1
    functionLinenumber: 750
    functionLinenumberEnd: 755
    functionName: oem::LegacyRouter::registerHandler
    functionSourceFile: /src/phosphor-host-ipmid/ipmid-new.cpp
    functionUses: 0
    functionsReached:
    - ipmi::makeLegacyHandler
    - std::forward<Handler>
    - ipmi::impl::registerOemHandler
    linkageType: ''
    returnType: void
    signature: void registerHandler(Number oen, ipmi_cmd_t cmd, Handler handler) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 759
    functionDepth: 0
    functionLinenumber: 759
    functionLinenumberEnd: 762
    functionName: oem::mutableRouter
    functionSourceFile: /src/phosphor-host-ipmid/ipmid-new.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Router
    signature: Router * mutableRouter()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 745
    functionName: ~LegacyRouter()
    functionSourceFile: /src/phosphor-host-ipmid/ipmid-new.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~LegacyRouter()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 748
    functionName: oem::LegacyRouter::activate
    functionSourceFile: /src/phosphor-host-ipmid/ipmid-new.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void activate() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::makeLegacyHandler
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:752,1
    - Dst: std::forward<Handler>
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:752,1
    - Dst: ipmi::impl::registerOemHandler
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:753,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - oen
    - cmd
    - handler
    argTypes:
    - Number
    - ipmi_cmd_t
    - Handler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 750
    functionDepth: 1
    functionLinenumber: 750
    functionLinenumberEnd: 755
    functionName: oem::LegacyRouter::registerHandler
    functionSourceFile: /src/phosphor-host-ipmid/ipmid-new.cpp
    functionUses: 0
    functionsReached:
    - ipmi::makeLegacyHandler
    - std::forward<Handler>
    - ipmi::impl::registerOemHandler
    linkageType: ''
    returnType: void
    signature: void registerHandler(Number oen, ipmi_cmd_t cmd, Handler handler) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 759
    functionDepth: 0
    functionLinenumber: 759
    functionLinenumberEnd: 762
    functionName: oem::mutableRouter
    functionSourceFile: /src/phosphor-host-ipmid/ipmid-new.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Router
    signature: Router * mutableRouter()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: boost::asio::spawn
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:771,1
    - Dst: getIoContext
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:772,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:773,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:774,1
    - Dst: ipmi::SecureBuffer::SecureBuffer
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:776,1
    - Dst: sdbusplus::message_t::read
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:778,1
    - Dst: getSdBus
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:779,1
    - Dst: std::make_shared<ipmi::Context>
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:780,1
    - Dst: std::make_shared<ipmi::message::Request>
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:783,1
    - Dst: std::forward<ipmi::SecureBuffer>
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:784,1
    - Dst: ipmi::executeIpmiCommand
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:786,1
    - Dst: sdbusplus::message_t::get_sender
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:793,1
    - Dst: sdbusplus::message_t::get_path
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:794,1
    - Dst: ipmi::callDbusMethod
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:795,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:801,1
    - Dst: boost::system::error_code::message
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:803,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' m'
    argTypes:
    - sdbusplus::message_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 767
    functionDepth: 5
    functionLinenumber: 767
    functionLinenumberEnd: 808
    functionName: handleLegacyIpmiCommand
    functionSourceFile: /src/phosphor-host-ipmid/ipmid-new.cpp
    functionUses: 0
    functionsReached:
    - ipmi::executeIpmiCommand
    - getIoContext
    - std::make_shared<ipmi::Context>
    - sdbusplus::message_t::get_sender
    - boost::system::error_code::message
    - lg2::error
    - sdbusplus::message_t::get_path
    - getSdBus
    - ipmi::callDbusMethod
    - ipmi::SecureBuffer::SecureBuffer
    - boost::asio::spawn
    - std::move
    - std::make_shared<ipmi::message::Request>
    - std::forward<ipmi::SecureBuffer>
    - sdbusplus::message_t::read
    linkageType: ''
    returnType: void
    signature: void handleLegacyIpmiCommand(sdbusplus::message_t& m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: execute
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:817,1
    - Dst: std::forward<CommandHandler>
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:817,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' cmd'
    argTypes:
    - CommandHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 818
    functionName: ipmid_send_cmd_to_host
    functionSourceFile: /src/phosphor-host-ipmid/ipmid-new.cpp
    functionUses: 0
    functionsReached:
    - std::forward<CommandHandler>
    - execute
    linkageType: ''
    returnType: void
    signature: void ipmid_send_cmd_to_host(CommandHandler&& cmd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 823
    functionName: ipmid_get_host_cmd_manager
    functionSourceFile: /src/phosphor-host-ipmid/ipmid-new.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::unique_ptr<phosphor::host::command::Manager>
    signature: std::unique_ptr<phosphor::host::command::Manager> & ipmid_get_host_cmd_manager()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<boost::asio::io_context>
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:833,1
    - Dst: setIoContext
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:834,1
    - Dst: std::string
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:835,1
    - Dst: sd_bus_default_user
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:837,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:840,1
    - Dst: sd_bus_default_system
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:846,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:849,1
    - Dst: std::make_shared<sdbusplus::asio::connection>
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:853,1
    - Dst: setSdBus
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:854,1
    - Dst: sdbusplus::Timer::start
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:859,1
    - Dst: std::chrono::microseconds
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:859,1
    - Dst: std::make_unique<phosphor::host::command::Manager>
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:865,1
    - Dst: ipmi::loadProviders
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:869,1
    - Dst: sdbusplus::bus::match::rules::nameOwnerChanged
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:882,1
    - Dst: sdbusplus::bus::match::rules::arg0namespace
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:883,1
    - Dst: ipmi::doListNames
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:886,1
    - Dst: lg2::info
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:892,1
    - Dst: auto::stop
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:893,1
    - Dst: registerSignalHandler
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:897,1
    - Dst: registerSignalHandler
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:898,1
    - Dst: auto::request_name
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:900,1
    - Dst: sdbusplus::asio::object_server
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:902,1
    - Dst: auto::add_interface
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:903,1
    - Dst: auto::register_method
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:905,1
    - Dst: auto::initialize
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:906,1
    - Dst: auto::run
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:908,1
    - Dst: clear
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:911,1
    - Dst: clear
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:912,1
    - Dst: clear
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:913,1
    - Dst: clear
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:914,1
    - Dst: std::forward_list::clear
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:916,1
    - Dst: std::exit
      Src: /src/phosphor-host-ipmid/ipmid-new.cpp:918,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 36
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 919
      start: 830
    functionDepth: 3
    functionLinenumber: 830
    functionLinenumberEnd: 919
    functionName: main
    functionSourceFile: /src/phosphor-host-ipmid/ipmid-new.cpp
    functionUses: 0
    functionsReached:
    - std::make_shared<sdbusplus::asio::connection>
    - sdbusplus::Timer::start
    - sd_bus_default_system
    - auto::register_method
    - setIoContext
    - sdbusplus::bus::match::rules::arg0namespace
    - clear
    - registerSignalHandler
    - auto::run
    - sdbusplus::bus::match::rules::nameOwnerChanged
    - std::string
    - std::chrono::microseconds
    - std::make_unique<phosphor::host::command::Manager>
    - std::forward_list::clear
    - lg2::info
    - ipmi::loadProviders
    - sd_bus_default_user
    - std::make_shared<boost::asio::io_context>
    - auto::stop
    - sdbusplus::asio::object_server
    - std::exit
    - ipmi::doListNames
    - auto::initialize
    - auto::add_interface
    - lg2::error
    - auto::request_name
    - setSdBus
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/host-interface.cpp:51,1
    - Dst: convertForMessage
      Src: /src/phosphor-host-ipmid/host-interface.cpp:52,1
    - Dst: std::make_tuple
      Src: /src/phosphor-host-ipmid/host-interface.cpp:54,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/host-interface.cpp:55,1
    - Dst: std::bind
      Src: /src/phosphor-host-ipmid/host-interface.cpp:56,1
    - Dst: ipmid_send_cmd_to_host
      Src: /src/phosphor-host-ipmid/host-interface.cpp:59,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/host-interface.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - command
    argTypes:
    - Base::Host::Command
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 60
    functionName: phosphor::host::command::Host::execute
    functionSourceFile: /src/phosphor-host-ipmid/host-interface.cpp
    functionUses: 0
    functionsReached:
    - ipmid_send_cmd_to_host
    - std::make_tuple
    - lg2::debug
    - std::bind
    - at
    - convertForMessage
    - std::move
    linkageType: ''
    returnType: void
    signature: void Host::execute(Base::Host::Command command)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: phosphor::host::command::Host::commandComplete
      Src: /src/phosphor-host-ipmid/host-interface.cpp:69,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/host-interface.cpp:69,1
    - Dst: std::get<0>
      Src: /src/phosphor-host-ipmid/host-interface.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cmd
    - status
    argTypes:
    - IpmiCmdData
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 70
    functionName: phosphor::host::command::Host::commandStatusHandler
    functionSourceFile: /src/phosphor-host-ipmid/host-interface.cpp
    functionUses: 0
    functionsReached:
    - phosphor::host::command::Host::commandComplete
    - std::get<0>
    - at
    linkageType: ''
    returnType: void
    signature: void Host::commandStatusHandler(IpmiCmdData cmd, bool status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<std::optional<Host::FirmwareCondition>>
      Src: /src/phosphor-host-ipmid/host-interface.cpp:76,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/host-interface.cpp:83,1
    - Dst: auto::get
      Src: /src/phosphor-host-ipmid/host-interface.cpp:87,1
    - Dst: phosphor::host::command::CommandHandler
      Src: /src/phosphor-host-ipmid/host-interface.cpp:91,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/host-interface.cpp:92,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/host-interface.cpp:93,1
    - Dst: ipmid_send_cmd_to_host
      Src: /src/phosphor-host-ipmid/host-interface.cpp:95,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/host-interface.cpp:95,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/host-interface.cpp:99,1
    - Dst: auto::get
      Src: /src/phosphor-host-ipmid/host-interface.cpp:100,1
    - Dst: sdbusplus::Timer::start
      Src: /src/phosphor-host-ipmid/host-interface.cpp:105,1
    - Dst: std::chrono::seconds
      Src: /src/phosphor-host-ipmid/host-interface.cpp:105,1
    - Dst: getIoContext
      Src: /src/phosphor-host-ipmid/host-interface.cpp:107,1
    - Dst: auto::get
      Src: /src/phosphor-host-ipmid/host-interface.cpp:109,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/host-interface.cpp:111,1
    - Dst: auto::run_for
      Src: /src/phosphor-host-ipmid/host-interface.cpp:112,1
    - Dst: std::chrono::milliseconds
      Src: /src/phosphor-host-ipmid/host-interface.cpp:112,1
    - Dst: sdbusplus::Timer::stop
      Src: /src/phosphor-host-ipmid/host-interface.cpp:114,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/host-interface.cpp:116,1
    - Dst: auto::get
      Src: /src/phosphor-host-ipmid/host-interface.cpp:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 118
    functionName: phosphor::host::command::Host::currentFirmwareCondition
    functionSourceFile: /src/phosphor-host-ipmid/host-interface.cpp
    functionUses: 0
    functionsReached:
    - ipmid_send_cmd_to_host
    - getIoContext
    - phosphor::host::command::CommandHandler
    - auto::get
    - std::make_shared<std::optional<Host::FirmwareCondition>>
    - sdbusplus::Timer::start
    - std::chrono::milliseconds
    - std::chrono::seconds
    - sdbusplus::Timer::stop
    - at
    - lg2::debug
    - std::move
    - auto::run_for
    linkageType: ''
    returnType: Host::FirmwareCondition
    signature: Host::FirmwareCondition Host::currentFirmwareCondition() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/host-interface.cpp:51,1
    - Dst: convertForMessage
      Src: /src/phosphor-host-ipmid/host-interface.cpp:52,1
    - Dst: std::make_tuple
      Src: /src/phosphor-host-ipmid/host-interface.cpp:54,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/host-interface.cpp:55,1
    - Dst: std::bind
      Src: /src/phosphor-host-ipmid/host-interface.cpp:56,1
    - Dst: ipmid_send_cmd_to_host
      Src: /src/phosphor-host-ipmid/host-interface.cpp:59,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/host-interface.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - command
    argTypes:
    - Base::Host::Command
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 60
    functionName: phosphor::host::command::Host::execute
    functionSourceFile: /src/phosphor-host-ipmid/host-interface.cpp
    functionUses: 0
    functionsReached:
    - ipmid_send_cmd_to_host
    - std::make_tuple
    - lg2::debug
    - std::bind
    - at
    - convertForMessage
    - std::move
    linkageType: ''
    returnType: void
    signature: void Host::execute(Base::Host::Command command)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: phosphor::host::command::Host::commandComplete
      Src: /src/phosphor-host-ipmid/host-interface.cpp:69,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/host-interface.cpp:69,1
    - Dst: std::get<0>
      Src: /src/phosphor-host-ipmid/host-interface.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cmd
    - status
    argTypes:
    - IpmiCmdData
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 70
    functionName: phosphor::host::command::Host::commandStatusHandler
    functionSourceFile: /src/phosphor-host-ipmid/host-interface.cpp
    functionUses: 0
    functionsReached:
    - phosphor::host::command::Host::commandComplete
    - std::get<0>
    - at
    linkageType: ''
    returnType: void
    signature: void Host::commandStatusHandler(IpmiCmdData cmd, bool status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<std::optional<Host::FirmwareCondition>>
      Src: /src/phosphor-host-ipmid/host-interface.cpp:76,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/host-interface.cpp:83,1
    - Dst: auto::get
      Src: /src/phosphor-host-ipmid/host-interface.cpp:87,1
    - Dst: phosphor::host::command::CommandHandler
      Src: /src/phosphor-host-ipmid/host-interface.cpp:91,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/host-interface.cpp:92,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/host-interface.cpp:93,1
    - Dst: ipmid_send_cmd_to_host
      Src: /src/phosphor-host-ipmid/host-interface.cpp:95,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/host-interface.cpp:95,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/host-interface.cpp:99,1
    - Dst: auto::get
      Src: /src/phosphor-host-ipmid/host-interface.cpp:100,1
    - Dst: sdbusplus::Timer::start
      Src: /src/phosphor-host-ipmid/host-interface.cpp:105,1
    - Dst: std::chrono::seconds
      Src: /src/phosphor-host-ipmid/host-interface.cpp:105,1
    - Dst: getIoContext
      Src: /src/phosphor-host-ipmid/host-interface.cpp:107,1
    - Dst: auto::get
      Src: /src/phosphor-host-ipmid/host-interface.cpp:109,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/host-interface.cpp:111,1
    - Dst: auto::run_for
      Src: /src/phosphor-host-ipmid/host-interface.cpp:112,1
    - Dst: std::chrono::milliseconds
      Src: /src/phosphor-host-ipmid/host-interface.cpp:112,1
    - Dst: sdbusplus::Timer::stop
      Src: /src/phosphor-host-ipmid/host-interface.cpp:114,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/host-interface.cpp:116,1
    - Dst: auto::get
      Src: /src/phosphor-host-ipmid/host-interface.cpp:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 118
    functionName: phosphor::host::command::Host::currentFirmwareCondition
    functionSourceFile: /src/phosphor-host-ipmid/host-interface.cpp
    functionUses: 0
    functionsReached:
    - ipmid_send_cmd_to_host
    - getIoContext
    - phosphor::host::command::CommandHandler
    - auto::get
    - std::make_shared<std::optional<Host::FirmwareCondition>>
    - sdbusplus::Timer::start
    - std::chrono::milliseconds
    - std::chrono::seconds
    - sdbusplus::Timer::stop
    - at
    - lg2::debug
    - std::move
    - auto::run_for
    linkageType: ''
    returnType: Host::FirmwareCondition
    signature: Host::FirmwareCondition Host::currentFirmwareCondition() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/host-interface.cpp:51,1
    - Dst: convertForMessage
      Src: /src/phosphor-host-ipmid/host-interface.cpp:52,1
    - Dst: std::make_tuple
      Src: /src/phosphor-host-ipmid/host-interface.cpp:54,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/host-interface.cpp:55,1
    - Dst: std::bind
      Src: /src/phosphor-host-ipmid/host-interface.cpp:56,1
    - Dst: ipmid_send_cmd_to_host
      Src: /src/phosphor-host-ipmid/host-interface.cpp:59,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/host-interface.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - command
    argTypes:
    - Base::Host::Command
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 60
    functionName: phosphor::host::command::Host::execute
    functionSourceFile: /src/phosphor-host-ipmid/host-interface.cpp
    functionUses: 0
    functionsReached:
    - ipmid_send_cmd_to_host
    - std::make_tuple
    - lg2::debug
    - std::bind
    - at
    - convertForMessage
    - std::move
    linkageType: ''
    returnType: void
    signature: void Host::execute(Base::Host::Command command)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: phosphor::host::command::Host::commandComplete
      Src: /src/phosphor-host-ipmid/host-interface.cpp:69,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/host-interface.cpp:69,1
    - Dst: std::get<0>
      Src: /src/phosphor-host-ipmid/host-interface.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cmd
    - status
    argTypes:
    - IpmiCmdData
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 70
    functionName: phosphor::host::command::Host::commandStatusHandler
    functionSourceFile: /src/phosphor-host-ipmid/host-interface.cpp
    functionUses: 0
    functionsReached:
    - phosphor::host::command::Host::commandComplete
    - std::get<0>
    - at
    linkageType: ''
    returnType: void
    signature: void Host::commandStatusHandler(IpmiCmdData cmd, bool status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<std::optional<Host::FirmwareCondition>>
      Src: /src/phosphor-host-ipmid/host-interface.cpp:76,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/host-interface.cpp:83,1
    - Dst: auto::get
      Src: /src/phosphor-host-ipmid/host-interface.cpp:87,1
    - Dst: phosphor::host::command::CommandHandler
      Src: /src/phosphor-host-ipmid/host-interface.cpp:91,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/host-interface.cpp:92,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/host-interface.cpp:93,1
    - Dst: ipmid_send_cmd_to_host
      Src: /src/phosphor-host-ipmid/host-interface.cpp:95,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/host-interface.cpp:95,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/host-interface.cpp:99,1
    - Dst: auto::get
      Src: /src/phosphor-host-ipmid/host-interface.cpp:100,1
    - Dst: sdbusplus::Timer::start
      Src: /src/phosphor-host-ipmid/host-interface.cpp:105,1
    - Dst: std::chrono::seconds
      Src: /src/phosphor-host-ipmid/host-interface.cpp:105,1
    - Dst: getIoContext
      Src: /src/phosphor-host-ipmid/host-interface.cpp:107,1
    - Dst: auto::get
      Src: /src/phosphor-host-ipmid/host-interface.cpp:109,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/host-interface.cpp:111,1
    - Dst: auto::run_for
      Src: /src/phosphor-host-ipmid/host-interface.cpp:112,1
    - Dst: std::chrono::milliseconds
      Src: /src/phosphor-host-ipmid/host-interface.cpp:112,1
    - Dst: sdbusplus::Timer::stop
      Src: /src/phosphor-host-ipmid/host-interface.cpp:114,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/host-interface.cpp:116,1
    - Dst: auto::get
      Src: /src/phosphor-host-ipmid/host-interface.cpp:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 118
    functionName: phosphor::host::command::Host::currentFirmwareCondition
    functionSourceFile: /src/phosphor-host-ipmid/host-interface.cpp
    functionUses: 0
    functionsReached:
    - ipmid_send_cmd_to_host
    - getIoContext
    - phosphor::host::command::CommandHandler
    - auto::get
    - std::make_shared<std::optional<Host::FirmwareCondition>>
    - sdbusplus::Timer::start
    - std::chrono::milliseconds
    - std::chrono::seconds
    - sdbusplus::Timer::stop
    - at
    - lg2::debug
    - std::move
    - auto::run_for
    linkageType: ''
    returnType: Host::FirmwareCondition
    signature: Host::FirmwareCondition Host::currentFirmwareCondition() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/host-interface.cpp:51,1
    - Dst: convertForMessage
      Src: /src/phosphor-host-ipmid/host-interface.cpp:52,1
    - Dst: std::make_tuple
      Src: /src/phosphor-host-ipmid/host-interface.cpp:54,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/host-interface.cpp:55,1
    - Dst: std::bind
      Src: /src/phosphor-host-ipmid/host-interface.cpp:56,1
    - Dst: ipmid_send_cmd_to_host
      Src: /src/phosphor-host-ipmid/host-interface.cpp:59,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/host-interface.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - command
    argTypes:
    - Base::Host::Command
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 60
    functionName: phosphor::host::command::Host::execute
    functionSourceFile: /src/phosphor-host-ipmid/host-interface.cpp
    functionUses: 0
    functionsReached:
    - ipmid_send_cmd_to_host
    - std::make_tuple
    - lg2::debug
    - std::bind
    - at
    - convertForMessage
    - std::move
    linkageType: ''
    returnType: void
    signature: void Host::execute(Base::Host::Command command)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: phosphor::host::command::Host::commandComplete
      Src: /src/phosphor-host-ipmid/host-interface.cpp:69,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/host-interface.cpp:69,1
    - Dst: std::get<0>
      Src: /src/phosphor-host-ipmid/host-interface.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cmd
    - status
    argTypes:
    - IpmiCmdData
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 70
    functionName: phosphor::host::command::Host::commandStatusHandler
    functionSourceFile: /src/phosphor-host-ipmid/host-interface.cpp
    functionUses: 0
    functionsReached:
    - phosphor::host::command::Host::commandComplete
    - std::get<0>
    - at
    linkageType: ''
    returnType: void
    signature: void Host::commandStatusHandler(IpmiCmdData cmd, bool status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<std::optional<Host::FirmwareCondition>>
      Src: /src/phosphor-host-ipmid/host-interface.cpp:76,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/host-interface.cpp:83,1
    - Dst: auto::get
      Src: /src/phosphor-host-ipmid/host-interface.cpp:87,1
    - Dst: phosphor::host::command::CommandHandler
      Src: /src/phosphor-host-ipmid/host-interface.cpp:91,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/host-interface.cpp:92,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/host-interface.cpp:93,1
    - Dst: ipmid_send_cmd_to_host
      Src: /src/phosphor-host-ipmid/host-interface.cpp:95,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/host-interface.cpp:95,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/host-interface.cpp:99,1
    - Dst: auto::get
      Src: /src/phosphor-host-ipmid/host-interface.cpp:100,1
    - Dst: sdbusplus::Timer::start
      Src: /src/phosphor-host-ipmid/host-interface.cpp:105,1
    - Dst: std::chrono::seconds
      Src: /src/phosphor-host-ipmid/host-interface.cpp:105,1
    - Dst: getIoContext
      Src: /src/phosphor-host-ipmid/host-interface.cpp:107,1
    - Dst: auto::get
      Src: /src/phosphor-host-ipmid/host-interface.cpp:109,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/host-interface.cpp:111,1
    - Dst: auto::run_for
      Src: /src/phosphor-host-ipmid/host-interface.cpp:112,1
    - Dst: std::chrono::milliseconds
      Src: /src/phosphor-host-ipmid/host-interface.cpp:112,1
    - Dst: sdbusplus::Timer::stop
      Src: /src/phosphor-host-ipmid/host-interface.cpp:114,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/host-interface.cpp:116,1
    - Dst: auto::get
      Src: /src/phosphor-host-ipmid/host-interface.cpp:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 118
    functionName: phosphor::host::command::Host::currentFirmwareCondition
    functionSourceFile: /src/phosphor-host-ipmid/host-interface.cpp
    functionUses: 0
    functionsReached:
    - ipmid_send_cmd_to_host
    - getIoContext
    - phosphor::host::command::CommandHandler
    - auto::get
    - std::make_shared<std::optional<Host::FirmwareCondition>>
    - sdbusplus::Timer::start
    - std::chrono::milliseconds
    - std::chrono::seconds
    - sdbusplus::Timer::stop
    - at
    - lg2::debug
    - std::move
    - auto::run_for
    linkageType: ''
    returnType: Host::FirmwareCondition
    signature: Host::FirmwareCondition Host::currentFirmwareCondition() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/host-interface.cpp:51,1
    - Dst: convertForMessage
      Src: /src/phosphor-host-ipmid/host-interface.cpp:52,1
    - Dst: std::make_tuple
      Src: /src/phosphor-host-ipmid/host-interface.cpp:54,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/host-interface.cpp:55,1
    - Dst: std::bind
      Src: /src/phosphor-host-ipmid/host-interface.cpp:56,1
    - Dst: ipmid_send_cmd_to_host
      Src: /src/phosphor-host-ipmid/host-interface.cpp:59,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/host-interface.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - command
    argTypes:
    - Base::Host::Command
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 60
    functionName: phosphor::host::command::Host::execute
    functionSourceFile: /src/phosphor-host-ipmid/host-interface.cpp
    functionUses: 0
    functionsReached:
    - ipmid_send_cmd_to_host
    - std::make_tuple
    - lg2::debug
    - std::bind
    - at
    - convertForMessage
    - std::move
    linkageType: ''
    returnType: void
    signature: void Host::execute(Base::Host::Command command)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: phosphor::host::command::Host::commandComplete
      Src: /src/phosphor-host-ipmid/host-interface.cpp:69,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/host-interface.cpp:69,1
    - Dst: std::get<0>
      Src: /src/phosphor-host-ipmid/host-interface.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cmd
    - status
    argTypes:
    - IpmiCmdData
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 70
    functionName: phosphor::host::command::Host::commandStatusHandler
    functionSourceFile: /src/phosphor-host-ipmid/host-interface.cpp
    functionUses: 0
    functionsReached:
    - phosphor::host::command::Host::commandComplete
    - std::get<0>
    - at
    linkageType: ''
    returnType: void
    signature: void Host::commandStatusHandler(IpmiCmdData cmd, bool status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<std::optional<Host::FirmwareCondition>>
      Src: /src/phosphor-host-ipmid/host-interface.cpp:76,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/host-interface.cpp:83,1
    - Dst: auto::get
      Src: /src/phosphor-host-ipmid/host-interface.cpp:87,1
    - Dst: phosphor::host::command::CommandHandler
      Src: /src/phosphor-host-ipmid/host-interface.cpp:91,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/host-interface.cpp:92,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/host-interface.cpp:93,1
    - Dst: ipmid_send_cmd_to_host
      Src: /src/phosphor-host-ipmid/host-interface.cpp:95,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/host-interface.cpp:95,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/host-interface.cpp:99,1
    - Dst: auto::get
      Src: /src/phosphor-host-ipmid/host-interface.cpp:100,1
    - Dst: sdbusplus::Timer::start
      Src: /src/phosphor-host-ipmid/host-interface.cpp:105,1
    - Dst: std::chrono::seconds
      Src: /src/phosphor-host-ipmid/host-interface.cpp:105,1
    - Dst: getIoContext
      Src: /src/phosphor-host-ipmid/host-interface.cpp:107,1
    - Dst: auto::get
      Src: /src/phosphor-host-ipmid/host-interface.cpp:109,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/host-interface.cpp:111,1
    - Dst: auto::run_for
      Src: /src/phosphor-host-ipmid/host-interface.cpp:112,1
    - Dst: std::chrono::milliseconds
      Src: /src/phosphor-host-ipmid/host-interface.cpp:112,1
    - Dst: sdbusplus::Timer::stop
      Src: /src/phosphor-host-ipmid/host-interface.cpp:114,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/host-interface.cpp:116,1
    - Dst: auto::get
      Src: /src/phosphor-host-ipmid/host-interface.cpp:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 118
    functionName: phosphor::host::command::Host::currentFirmwareCondition
    functionSourceFile: /src/phosphor-host-ipmid/host-interface.cpp
    functionUses: 0
    functionsReached:
    - ipmid_send_cmd_to_host
    - getIoContext
    - phosphor::host::command::CommandHandler
    - auto::get
    - std::make_shared<std::optional<Host::FirmwareCondition>>
    - sdbusplus::Timer::start
    - std::chrono::milliseconds
    - std::chrono::seconds
    - sdbusplus::Timer::stop
    - at
    - lg2::debug
    - std::move
    - auto::run_for
    linkageType: ''
    returnType: Host::FirmwareCondition
    signature: Host::FirmwareCondition Host::currentFirmwareCondition() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/host-interface.cpp:51,1
    - Dst: convertForMessage
      Src: /src/phosphor-host-ipmid/host-interface.cpp:52,1
    - Dst: std::make_tuple
      Src: /src/phosphor-host-ipmid/host-interface.cpp:54,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/host-interface.cpp:55,1
    - Dst: std::bind
      Src: /src/phosphor-host-ipmid/host-interface.cpp:56,1
    - Dst: ipmid_send_cmd_to_host
      Src: /src/phosphor-host-ipmid/host-interface.cpp:59,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/host-interface.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - command
    argTypes:
    - Base::Host::Command
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 60
    functionName: phosphor::host::command::Host::execute
    functionSourceFile: /src/phosphor-host-ipmid/host-interface.cpp
    functionUses: 0
    functionsReached:
    - ipmid_send_cmd_to_host
    - std::make_tuple
    - lg2::debug
    - std::bind
    - at
    - convertForMessage
    - std::move
    linkageType: ''
    returnType: void
    signature: void Host::execute(Base::Host::Command command)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: phosphor::host::command::Host::commandComplete
      Src: /src/phosphor-host-ipmid/host-interface.cpp:69,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/host-interface.cpp:69,1
    - Dst: std::get<0>
      Src: /src/phosphor-host-ipmid/host-interface.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cmd
    - status
    argTypes:
    - IpmiCmdData
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 70
    functionName: phosphor::host::command::Host::commandStatusHandler
    functionSourceFile: /src/phosphor-host-ipmid/host-interface.cpp
    functionUses: 0
    functionsReached:
    - phosphor::host::command::Host::commandComplete
    - std::get<0>
    - at
    linkageType: ''
    returnType: void
    signature: void Host::commandStatusHandler(IpmiCmdData cmd, bool status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<std::optional<Host::FirmwareCondition>>
      Src: /src/phosphor-host-ipmid/host-interface.cpp:76,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/host-interface.cpp:83,1
    - Dst: auto::get
      Src: /src/phosphor-host-ipmid/host-interface.cpp:87,1
    - Dst: phosphor::host::command::CommandHandler
      Src: /src/phosphor-host-ipmid/host-interface.cpp:91,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/host-interface.cpp:92,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/host-interface.cpp:93,1
    - Dst: ipmid_send_cmd_to_host
      Src: /src/phosphor-host-ipmid/host-interface.cpp:95,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/host-interface.cpp:95,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/host-interface.cpp:99,1
    - Dst: auto::get
      Src: /src/phosphor-host-ipmid/host-interface.cpp:100,1
    - Dst: sdbusplus::Timer::start
      Src: /src/phosphor-host-ipmid/host-interface.cpp:105,1
    - Dst: std::chrono::seconds
      Src: /src/phosphor-host-ipmid/host-interface.cpp:105,1
    - Dst: getIoContext
      Src: /src/phosphor-host-ipmid/host-interface.cpp:107,1
    - Dst: auto::get
      Src: /src/phosphor-host-ipmid/host-interface.cpp:109,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/host-interface.cpp:111,1
    - Dst: auto::run_for
      Src: /src/phosphor-host-ipmid/host-interface.cpp:112,1
    - Dst: std::chrono::milliseconds
      Src: /src/phosphor-host-ipmid/host-interface.cpp:112,1
    - Dst: sdbusplus::Timer::stop
      Src: /src/phosphor-host-ipmid/host-interface.cpp:114,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/host-interface.cpp:116,1
    - Dst: auto::get
      Src: /src/phosphor-host-ipmid/host-interface.cpp:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 118
    functionName: phosphor::host::command::Host::currentFirmwareCondition
    functionSourceFile: /src/phosphor-host-ipmid/host-interface.cpp
    functionUses: 0
    functionsReached:
    - ipmid_send_cmd_to_host
    - getIoContext
    - phosphor::host::command::CommandHandler
    - auto::get
    - std::make_shared<std::optional<Host::FirmwareCondition>>
    - sdbusplus::Timer::start
    - std::chrono::milliseconds
    - std::chrono::seconds
    - sdbusplus::Timer::stop
    - at
    - lg2::debug
    - std::move
    - auto::run_for
    linkageType: ''
    returnType: Host::FirmwareCondition
    signature: Host::FirmwareCondition Host::currentFirmwareCondition() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/host-interface.cpp:51,1
    - Dst: convertForMessage
      Src: /src/phosphor-host-ipmid/host-interface.cpp:52,1
    - Dst: std::make_tuple
      Src: /src/phosphor-host-ipmid/host-interface.cpp:54,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/host-interface.cpp:55,1
    - Dst: std::bind
      Src: /src/phosphor-host-ipmid/host-interface.cpp:56,1
    - Dst: ipmid_send_cmd_to_host
      Src: /src/phosphor-host-ipmid/host-interface.cpp:59,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/host-interface.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - command
    argTypes:
    - Base::Host::Command
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 60
    functionName: phosphor::host::command::Host::execute
    functionSourceFile: /src/phosphor-host-ipmid/host-interface.cpp
    functionUses: 0
    functionsReached:
    - ipmid_send_cmd_to_host
    - std::make_tuple
    - lg2::debug
    - std::bind
    - at
    - convertForMessage
    - std::move
    linkageType: ''
    returnType: void
    signature: void Host::execute(Base::Host::Command command)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: phosphor::host::command::Host::commandComplete
      Src: /src/phosphor-host-ipmid/host-interface.cpp:69,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/host-interface.cpp:69,1
    - Dst: std::get<0>
      Src: /src/phosphor-host-ipmid/host-interface.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cmd
    - status
    argTypes:
    - IpmiCmdData
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 70
    functionName: phosphor::host::command::Host::commandStatusHandler
    functionSourceFile: /src/phosphor-host-ipmid/host-interface.cpp
    functionUses: 0
    functionsReached:
    - phosphor::host::command::Host::commandComplete
    - std::get<0>
    - at
    linkageType: ''
    returnType: void
    signature: void Host::commandStatusHandler(IpmiCmdData cmd, bool status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<std::optional<Host::FirmwareCondition>>
      Src: /src/phosphor-host-ipmid/host-interface.cpp:76,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/host-interface.cpp:83,1
    - Dst: auto::get
      Src: /src/phosphor-host-ipmid/host-interface.cpp:87,1
    - Dst: phosphor::host::command::CommandHandler
      Src: /src/phosphor-host-ipmid/host-interface.cpp:91,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/host-interface.cpp:92,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/host-interface.cpp:93,1
    - Dst: ipmid_send_cmd_to_host
      Src: /src/phosphor-host-ipmid/host-interface.cpp:95,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/host-interface.cpp:95,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/host-interface.cpp:99,1
    - Dst: auto::get
      Src: /src/phosphor-host-ipmid/host-interface.cpp:100,1
    - Dst: sdbusplus::Timer::start
      Src: /src/phosphor-host-ipmid/host-interface.cpp:105,1
    - Dst: std::chrono::seconds
      Src: /src/phosphor-host-ipmid/host-interface.cpp:105,1
    - Dst: getIoContext
      Src: /src/phosphor-host-ipmid/host-interface.cpp:107,1
    - Dst: auto::get
      Src: /src/phosphor-host-ipmid/host-interface.cpp:109,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/host-interface.cpp:111,1
    - Dst: auto::run_for
      Src: /src/phosphor-host-ipmid/host-interface.cpp:112,1
    - Dst: std::chrono::milliseconds
      Src: /src/phosphor-host-ipmid/host-interface.cpp:112,1
    - Dst: sdbusplus::Timer::stop
      Src: /src/phosphor-host-ipmid/host-interface.cpp:114,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/host-interface.cpp:116,1
    - Dst: auto::get
      Src: /src/phosphor-host-ipmid/host-interface.cpp:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 118
    functionName: phosphor::host::command::Host::currentFirmwareCondition
    functionSourceFile: /src/phosphor-host-ipmid/host-interface.cpp
    functionUses: 0
    functionsReached:
    - ipmid_send_cmd_to_host
    - getIoContext
    - phosphor::host::command::CommandHandler
    - auto::get
    - std::make_shared<std::optional<Host::FirmwareCondition>>
    - sdbusplus::Timer::start
    - std::chrono::milliseconds
    - std::chrono::seconds
    - sdbusplus::Timer::stop
    - at
    - lg2::debug
    - std::move
    - auto::run_for
    linkageType: ''
    returnType: Host::FirmwareCondition
    signature: Host::FirmwareCondition Host::currentFirmwareCondition() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/host-interface.cpp:51,1
    - Dst: convertForMessage
      Src: /src/phosphor-host-ipmid/host-interface.cpp:52,1
    - Dst: std::make_tuple
      Src: /src/phosphor-host-ipmid/host-interface.cpp:54,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/host-interface.cpp:55,1
    - Dst: std::bind
      Src: /src/phosphor-host-ipmid/host-interface.cpp:56,1
    - Dst: ipmid_send_cmd_to_host
      Src: /src/phosphor-host-ipmid/host-interface.cpp:59,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/host-interface.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - command
    argTypes:
    - Base::Host::Command
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 60
    functionName: phosphor::host::command::Host::execute
    functionSourceFile: /src/phosphor-host-ipmid/host-interface.cpp
    functionUses: 0
    functionsReached:
    - ipmid_send_cmd_to_host
    - std::make_tuple
    - lg2::debug
    - std::bind
    - at
    - convertForMessage
    - std::move
    linkageType: ''
    returnType: void
    signature: void Host::execute(Base::Host::Command command)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: phosphor::host::command::Host::commandComplete
      Src: /src/phosphor-host-ipmid/host-interface.cpp:69,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/host-interface.cpp:69,1
    - Dst: std::get<0>
      Src: /src/phosphor-host-ipmid/host-interface.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cmd
    - status
    argTypes:
    - IpmiCmdData
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 70
    functionName: phosphor::host::command::Host::commandStatusHandler
    functionSourceFile: /src/phosphor-host-ipmid/host-interface.cpp
    functionUses: 0
    functionsReached:
    - phosphor::host::command::Host::commandComplete
    - std::get<0>
    - at
    linkageType: ''
    returnType: void
    signature: void Host::commandStatusHandler(IpmiCmdData cmd, bool status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<std::optional<Host::FirmwareCondition>>
      Src: /src/phosphor-host-ipmid/host-interface.cpp:76,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/host-interface.cpp:83,1
    - Dst: auto::get
      Src: /src/phosphor-host-ipmid/host-interface.cpp:87,1
    - Dst: phosphor::host::command::CommandHandler
      Src: /src/phosphor-host-ipmid/host-interface.cpp:91,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/host-interface.cpp:92,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/host-interface.cpp:93,1
    - Dst: ipmid_send_cmd_to_host
      Src: /src/phosphor-host-ipmid/host-interface.cpp:95,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/host-interface.cpp:95,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/host-interface.cpp:99,1
    - Dst: auto::get
      Src: /src/phosphor-host-ipmid/host-interface.cpp:100,1
    - Dst: sdbusplus::Timer::start
      Src: /src/phosphor-host-ipmid/host-interface.cpp:105,1
    - Dst: std::chrono::seconds
      Src: /src/phosphor-host-ipmid/host-interface.cpp:105,1
    - Dst: getIoContext
      Src: /src/phosphor-host-ipmid/host-interface.cpp:107,1
    - Dst: auto::get
      Src: /src/phosphor-host-ipmid/host-interface.cpp:109,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/host-interface.cpp:111,1
    - Dst: auto::run_for
      Src: /src/phosphor-host-ipmid/host-interface.cpp:112,1
    - Dst: std::chrono::milliseconds
      Src: /src/phosphor-host-ipmid/host-interface.cpp:112,1
    - Dst: sdbusplus::Timer::stop
      Src: /src/phosphor-host-ipmid/host-interface.cpp:114,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/host-interface.cpp:116,1
    - Dst: auto::get
      Src: /src/phosphor-host-ipmid/host-interface.cpp:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 118
    functionName: phosphor::host::command::Host::currentFirmwareCondition
    functionSourceFile: /src/phosphor-host-ipmid/host-interface.cpp
    functionUses: 0
    functionsReached:
    - ipmid_send_cmd_to_host
    - getIoContext
    - phosphor::host::command::CommandHandler
    - auto::get
    - std::make_shared<std::optional<Host::FirmwareCondition>>
    - sdbusplus::Timer::start
    - std::chrono::milliseconds
    - std::chrono::seconds
    - sdbusplus::Timer::stop
    - at
    - lg2::debug
    - std::move
    - auto::run_for
    linkageType: ''
    returnType: Host::FirmwareCondition
    signature: Host::FirmwareCondition Host::currentFirmwareCondition() const
  - 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: sdbusplus::error::org::open_power::host::name
    functionSourceFile: /src/phosphor-host-ipmid/error-HostEvent.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * name() const noexcept override
  - 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: sdbusplus::error::org::open_power::host::description
    functionSourceFile: /src/phosphor-host-ipmid/error-HostEvent.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * description() const noexcept override
  - 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: sdbusplus::error::org::open_power::host::what
    functionSourceFile: /src/phosphor-host-ipmid/error-HostEvent.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: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: sdbusplus::error::org::open_power::host::name
    functionSourceFile: /src/phosphor-host-ipmid/error-HostEvent.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * name() const noexcept override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    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: sdbusplus::error::org::open_power::host::description
    functionSourceFile: /src/phosphor-host-ipmid/error-HostEvent.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * description() const noexcept 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: sdbusplus::error::org::open_power::host::what
    functionSourceFile: /src/phosphor-host-ipmid/error-HostEvent.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: 19
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 19
    functionName: sdbusplus::error::org::open_power::host::name
    functionSourceFile: /src/phosphor-host-ipmid/error-HostEvent.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * name() const noexcept override
  - 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: sdbusplus::error::org::open_power::host::description
    functionSourceFile: /src/phosphor-host-ipmid/error-HostEvent.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * description() const noexcept override
  - 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: sdbusplus::error::org::open_power::host::what
    functionSourceFile: /src/phosphor-host-ipmid/error-HostEvent.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: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: sdbusplus::error::org::open_power::host::name
    functionSourceFile: /src/phosphor-host-ipmid/error-HostEvent.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * name() const noexcept override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    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: sdbusplus::error::org::open_power::host::description
    functionSourceFile: /src/phosphor-host-ipmid/error-HostEvent.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * description() const noexcept 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: sdbusplus::error::org::open_power::host::what
    functionSourceFile: /src/phosphor-host-ipmid/error-HostEvent.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * what() const noexcept override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::ifstream::is_open
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:123,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:125,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:126,1
    - Dst: nlohmann::json::parse
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:129,1
    - Dst: auto::is_discarded
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:130,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:132,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' configFile'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 137
    functionName: dcmi::parseJSONConfig
    functionSourceFile: /src/phosphor-host-ipmid/dcmihandler.cpp
    functionUses: 0
    functionsReached:
    - auto::is_discarded
    - std::ifstream::is_open
    - nlohmann::json::parse
    - elog<InternalFailure>
    - lg2::error
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json parseJSONConfig(const std::string& configFile)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dcmi::parseJSONConfig
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:145,1
    - Dst: auto::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 151
    functionName: dcmi::isDCMIPowerMgmtSupported
    functionSourceFile: /src/phosphor-host-ipmid/dcmihandler.cpp
    functionUses: 0
    functionsReached:
    - auto::value
    - dcmi::parseJSONConfig
    linkageType: ''
    returnType: bool
    signature: bool isDCMIPowerMgmtSupported()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getDbusObject
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:164,1
    - Dst: boost::system::error_code::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' ctx'
    argTypes:
    - ipmi::Context::ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 174
    functionName: dcmi::getPCapObject
    functionSourceFile: /src/phosphor-host-ipmid/dcmihandler.cpp
    functionUses: 0
    functionsReached:
    - boost::system::error_code::value
    - ipmi::getDbusObject
    linkageType: ''
    returnType: std::optional<ipmi::DbusObjectInfo>
    signature: std::optional<ipmi::DbusObjectInfo> getPCapObject(ipmi::Context::ptr&
      ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dcmi::getPCapObject
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:178,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:186,1
    - Dst: std::optional::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:187,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:187,1
    - Dst: std::optional::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:188,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:188,1
    - Dst: boost::system::error_code::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:190,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:192,1
    - Dst: boost::system::error_code::message
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:192,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:193,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' ctx'
    argTypes:
    - ipmi::Context::ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 198
    functionName: dcmi::getPcap
    functionSourceFile: /src/phosphor-host-ipmid/dcmihandler.cpp
    functionUses: 0
    functionsReached:
    - std::optional::value
    - boost::system::error_code::message
    - boost::system::error_code::value
    - c_str
    - elog<InternalFailure>
    - ipmi::getDbusProperty
    - lg2::error
    - dcmi::getPCapObject
    linkageType: ''
    returnType: std::optional<uint32_t>
    signature: std::optional<uint32_t> getPcap(ipmi::Context::ptr& ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dcmi::getPCapObject
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:202,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:211,1
    - Dst: std::optional::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:211,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:211,1
    - Dst: std::optional::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:212,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:212,1
    - Dst: boost::system::error_code::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:215,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:217,1
    - Dst: boost::system::error_code::message
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:218,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:219,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' ctx'
    argTypes:
    - ipmi::Context::ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 224
    functionName: dcmi::getPcapEnabled
    functionSourceFile: /src/phosphor-host-ipmid/dcmihandler.cpp
    functionUses: 0
    functionsReached:
    - std::optional::value
    - boost::system::error_code::message
    - boost::system::error_code::value
    - c_str
    - elog<InternalFailure>
    - ipmi::getDbusProperty
    - lg2::error
    - dcmi::getPCapObject
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> getPcapEnabled(ipmi::Context::ptr& ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dcmi::getPCapObject
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:228,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:238,1
    - Dst: std::optional::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:238,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:238,1
    - Dst: std::optional::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:239,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:239,1
    - Dst: boost::system::error_code::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:242,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:244,1
    - Dst: boost::system::error_code::message
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:245,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:246,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' ctx'
    argTypes:
    - ipmi::Context::ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 251
    functionName: dcmi::getPcapExceptAction
    functionSourceFile: /src/phosphor-host-ipmid/dcmihandler.cpp
    functionUses: 0
    functionsReached:
    - std::optional::value
    - boost::system::error_code::message
    - boost::system::error_code::value
    - c_str
    - elog<InternalFailure>
    - ipmi::getDbusProperty
    - lg2::error
    - dcmi::getPCapObject
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> getPcapExceptAction(ipmi::Context::ptr&
      ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dcmi::getPCapObject
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:255,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:264,1
    - Dst: std::optional::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:264,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:264,1
    - Dst: std::optional::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:265,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:265,1
    - Dst: boost::system::error_code::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:267,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:269,1
    - Dst: boost::system::error_code::message
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:270,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:271,1
    - Dst: std::chrono::duration_cast<std::chrono::milliseconds>
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:275,1
    - Dst: std::chrono::microseconds
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:276,1
    - Dst: count
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:275,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' ctx'
    argTypes:
    - ipmi::Context::ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 278
    functionName: dcmi::getPcapCorrectTime
    functionSourceFile: /src/phosphor-host-ipmid/dcmihandler.cpp
    functionUses: 0
    functionsReached:
    - std::optional::value
    - boost::system::error_code::message
    - count
    - boost::system::error_code::value
    - c_str
    - std::chrono::duration_cast<std::chrono::milliseconds>
    - std::chrono::microseconds
    - elog<InternalFailure>
    - ipmi::getDbusProperty
    - lg2::error
    - dcmi::getPCapObject
    linkageType: ''
    returnType: std::optional<uint32_t>
    signature: std::optional<uint32_t> getPcapCorrectTime(ipmi::Context::ptr& ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dcmi::getPCapObject
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:282,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:291,1
    - Dst: std::optional::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:291,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:291,1
    - Dst: std::optional::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:292,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:292,1
    - Dst: boost::system::error_code::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:294,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:296,1
    - Dst: boost::system::error_code::message
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:297,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:298,1
    - Dst: std::chrono::duration_cast<std::chrono::seconds>
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:302,1
    - Dst: std::chrono::microseconds
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:303,1
    - Dst: count
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:302,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' ctx'
    argTypes:
    - ipmi::Context::ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 305
    functionName: dcmi::getPcapSamplPeriod
    functionSourceFile: /src/phosphor-host-ipmid/dcmihandler.cpp
    functionUses: 0
    functionsReached:
    - std::optional::value
    - boost::system::error_code::message
    - count
    - std::chrono::duration_cast<std::chrono::seconds>
    - boost::system::error_code::value
    - c_str
    - std::chrono::microseconds
    - elog<InternalFailure>
    - ipmi::getDbusProperty
    - lg2::error
    - dcmi::getPCapObject
    linkageType: ''
    returnType: std::optional<uint16_t>
    signature: std::optional<uint16_t> getPcapSamplPeriod(ipmi::Context::ptr& ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dcmi::getPCapObject
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:309,1
    - Dst: ipmi::setDbusProperty
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:317,1
    - Dst: std::optional::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:317,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:317,1
    - Dst: std::optional::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:318,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:318,1
    - Dst: boost::system::error_code::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:321,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:323,1
    - Dst: boost::system::error_code::message
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:323,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:324,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' ctx'
    - powerCap
    argTypes:
    - ipmi::Context::ptr
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 329
    functionName: dcmi::setPcap
    functionSourceFile: /src/phosphor-host-ipmid/dcmihandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::setDbusProperty
    - std::optional::value
    - boost::system::error_code::message
    - c_str
    - elog<InternalFailure>
    - boost::system::error_code::value
    - lg2::error
    - dcmi::getPCapObject
    linkageType: ''
    returnType: bool
    signature: bool setPcap(ipmi::Context::ptr& ctx, const uint32_t powerCap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dcmi::getPCapObject
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:333,1
    - Dst: ipmi::setDbusProperty
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:341,1
    - Dst: std::optional::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:341,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:341,1
    - Dst: std::optional::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:342,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:342,1
    - Dst: boost::system::error_code::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:345,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:347,1
    - Dst: boost::system::error_code::message
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:348,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:349,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' ctx'
    - enabled
    argTypes:
    - ipmi::Context::ptr
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 353
    functionName: dcmi::setPcapEnable
    functionSourceFile: /src/phosphor-host-ipmid/dcmihandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::setDbusProperty
    - std::optional::value
    - boost::system::error_code::message
    - c_str
    - elog<InternalFailure>
    - boost::system::error_code::value
    - lg2::error
    - dcmi::getPCapObject
    linkageType: ''
    returnType: bool
    signature: bool setPcapEnable(ipmi::Context::ptr& ctx, bool enabled)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dcmi::getPCapObject
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:358,1
    - Dst: ipmi::setDbusProperty
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:366,1
    - Dst: std::optional::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:366,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:366,1
    - Dst: std::optional::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:367,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:367,1
    - Dst: boost::system::error_code::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:369,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:371,1
    - Dst: boost::system::error_code::message
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:372,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:373,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' ctx'
    - ' pcapExceptAct'
    argTypes:
    - ipmi::Context::ptr
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 378
    functionName: dcmi::setPcapExceptAction
    functionSourceFile: /src/phosphor-host-ipmid/dcmihandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::setDbusProperty
    - std::optional::value
    - boost::system::error_code::message
    - c_str
    - elog<InternalFailure>
    - boost::system::error_code::value
    - lg2::error
    - dcmi::getPCapObject
    linkageType: ''
    returnType: bool
    signature: "bool setPcapExceptAction(ipmi::Context::ptr& ctx,\n                         const
      std::string& pcapExceptAct)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dcmi::getPCapObject
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:382,1
    - Dst: std::chrono::duration_cast<std::chrono::microseconds>
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:394,1
    - Dst: std::chrono::milliseconds
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:395,1
    - Dst: count
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:394,1
    - Dst: ipmi::setDbusProperty
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:398,1
    - Dst: std::optional::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:398,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:398,1
    - Dst: std::optional::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:399,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:399,1
    - Dst: boost::system::error_code::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:401,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:403,1
    - Dst: boost::system::error_code::message
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:404,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:405,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' ctx'
    - pcapCorrectTime
    argTypes:
    - ipmi::Context::ptr
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 410
    functionName: dcmi::setPcapCorrectTime
    functionSourceFile: /src/phosphor-host-ipmid/dcmihandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::setDbusProperty
    - std::chrono::duration_cast<std::chrono::microseconds>
    - std::optional::value
    - boost::system::error_code::message
    - std::chrono::milliseconds
    - count
    - c_str
    - elog<InternalFailure>
    - boost::system::error_code::value
    - lg2::error
    - dcmi::getPCapObject
    linkageType: ''
    returnType: bool
    signature: bool setPcapCorrectTime(ipmi::Context::ptr& ctx, uint32_t pcapCorrectTime)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dcmi::getPCapObject
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:414,1
    - Dst: std::chrono::duration_cast<std::chrono::microseconds>
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:426,1
    - Dst: std::chrono::seconds
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:427,1
    - Dst: count
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:426,1
    - Dst: ipmi::setDbusProperty
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:430,1
    - Dst: std::optional::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:430,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:430,1
    - Dst: std::optional::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:431,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:431,1
    - Dst: boost::system::error_code::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:433,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:435,1
    - Dst: boost::system::error_code::message
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:436,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:437,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' ctx'
    - pcapSamplPeriod
    argTypes:
    - ipmi::Context::ptr
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 442
    functionName: dcmi::setPcapSamplPeriod
    functionSourceFile: /src/phosphor-host-ipmid/dcmihandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::setDbusProperty
    - std::chrono::duration_cast<std::chrono::microseconds>
    - std::optional::value
    - boost::system::error_code::message
    - count
    - std::chrono::seconds
    - c_str
    - elog<InternalFailure>
    - boost::system::error_code::value
    - lg2::error
    - dcmi::getPCapObject
    linkageType: ''
    returnType: bool
    signature: bool setPcapSamplPeriod(ipmi::Context::ptr& ctx, uint16_t pcapSamplPeriod)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getDbusObject
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:449,1
    - Dst: boost::system::error_code::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:451,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:458,1
    - Dst: boost::system::error_code::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:460,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:462,1
    - Dst: boost::system::error_code::message
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:463,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:464,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' ctx'
    argTypes:
    - ipmi::Context::ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 469
    functionName: dcmi::readAssetTag
    functionSourceFile: /src/phosphor-host-ipmid/dcmihandler.cpp
    functionUses: 0
    functionsReached:
    - boost::system::error_code::message
    - ipmi::getDbusProperty
    - elog<InternalFailure>
    - boost::system::error_code::value
    - getDbusObject
    - lg2::error
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> readAssetTag(ipmi::Context::ptr& ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getDbusObject
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:476,1
    - Dst: boost::system::error_code::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:478,1
    - Dst: ipmi::setDbusProperty
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:484,1
    - Dst: boost::system::error_code::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:486,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:488,1
    - Dst: boost::system::error_code::message
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:489,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:490,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' ctx'
    - ' assetTag'
    argTypes:
    - ipmi::Context::ptr
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 494
    functionName: dcmi::writeAssetTag
    functionSourceFile: /src/phosphor-host-ipmid/dcmihandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::setDbusProperty
    - boost::system::error_code::message
    - elog<InternalFailure>
    - boost::system::error_code::value
    - getDbusObject
    - lg2::error
    linkageType: ''
    returnType: bool
    signature: bool writeAssetTag(ipmi::Context::ptr& ctx, const std::string& assetTag)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:500,1
    - Dst: boost::system::error_code::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:501,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:506,1
    - Dst: boost::system::error_code::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:508,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:510,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:511,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' ctx'
    argTypes:
    - ipmi::Context::ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 496
    functionDepth: 1
    functionLinenumber: 496
    functionLinenumberEnd: 515
    functionName: dcmi::getHostName
    functionSourceFile: /src/phosphor-host-ipmid/dcmihandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::getService
    - ipmi::getDbusProperty
    - elog<InternalFailure>
    - boost::system::error_code::value
    - lg2::error
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> getHostName(ipmi::Context::ptr& ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getChannelName
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:520,1
    - Dst: auto::empty
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:521,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:523,1
    - Dst: ipmi::getDbusObject
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:528,1
    - Dst: boost::system::error_code::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:530,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:535,1
    - Dst: boost::system::error_code::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:536,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:541,1
    - Dst: boost::system::error_code::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:543,1
    - Dst: EthernetInterface::convertDHCPConfFromString
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:548,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - ' ctx'
    argTypes:
    - ipmi::Context::ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 517
    functionDepth: 1
    functionLinenumber: 517
    functionLinenumberEnd: 549
    functionName: dcmi::getDHCPEnabled
    functionSourceFile: /src/phosphor-host-ipmid/dcmihandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::getService
    - ipmi::getDbusProperty
    - ipmi::getChannelName
    - auto::empty
    - ipmi::getDbusObject
    - EthernetInterface::convertDHCPConfFromString
    - boost::system::error_code::value
    - lg2::error
    linkageType: ''
    returnType: std::optional<EthernetInterface::DHCPConf>
    signature: "std::optional<EthernetInterface::DHCPConf> getDHCPEnabled(\n    ipmi::Context::ptr&
      ctx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getAllDbusObjects
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:555,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:565,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - ' ctx'
    - ' prop'
    argTypes:
    - ipmi::Context::ptr
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 579
    functionName: dcmi::getDHCPOption
    functionSourceFile: /src/phosphor-host-ipmid/dcmihandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::getDbusProperty
    - ipmi::getAllDbusObjects
    linkageType: ''
    returnType: std::optional<bool>
    signature: "std::optional<bool> getDHCPOption(ipmi::Context::ptr& ctx,\n                                  const
      std::string& prop)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getAllDbusObjects
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:584,1
    - Dst: ipmi::setDbusProperty
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:593,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - ' ctx'
    - prop
    - value
    argTypes:
    - ipmi::Context::ptr
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 602
    functionName: dcmi::setDHCPOption
    functionSourceFile: /src/phosphor-host-ipmid/dcmihandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::setDbusProperty
    - ipmi::getAllDbusObjects
    linkageType: ''
    returnType: bool
    signature: bool setDHCPOption(ipmi::Context::ptr& ctx, std::string prop, bool
      value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::ifstream::is_open
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:123,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:125,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:126,1
    - Dst: nlohmann::json::parse
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:129,1
    - Dst: auto::is_discarded
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:130,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:132,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' configFile'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 137
    functionName: dcmi::parseJSONConfig
    functionSourceFile: /src/phosphor-host-ipmid/dcmihandler.cpp
    functionUses: 1
    functionsReached:
    - auto::is_discarded
    - std::ifstream::is_open
    - nlohmann::json::parse
    - elog<InternalFailure>
    - lg2::error
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json parseJSONConfig(const std::string& configFile)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dcmi::parseJSONConfig
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:145,1
    - Dst: auto::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 151
    functionName: dcmi::isDCMIPowerMgmtSupported
    functionSourceFile: /src/phosphor-host-ipmid/dcmihandler.cpp
    functionUses: 0
    functionsReached:
    - auto::value
    - dcmi::parseJSONConfig
    linkageType: ''
    returnType: bool
    signature: bool isDCMIPowerMgmtSupported()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getDbusObject
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:164,1
    - Dst: boost::system::error_code::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' ctx'
    argTypes:
    - ipmi::Context::ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 174
    functionName: dcmi::getPCapObject
    functionSourceFile: /src/phosphor-host-ipmid/dcmihandler.cpp
    functionUses: 10
    functionsReached:
    - boost::system::error_code::value
    - ipmi::getDbusObject
    linkageType: ''
    returnType: std::optional<ipmi::DbusObjectInfo>
    signature: std::optional<ipmi::DbusObjectInfo> getPCapObject(ipmi::Context::ptr&
      ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dcmi::getPCapObject
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:178,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:186,1
    - Dst: std::optional::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:187,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:187,1
    - Dst: std::optional::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:188,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:188,1
    - Dst: boost::system::error_code::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:190,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:192,1
    - Dst: boost::system::error_code::message
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:192,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:193,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' ctx'
    argTypes:
    - ipmi::Context::ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 198
    functionName: dcmi::getPcap
    functionSourceFile: /src/phosphor-host-ipmid/dcmihandler.cpp
    functionUses: 0
    functionsReached:
    - std::optional::value
    - boost::system::error_code::message
    - boost::system::error_code::value
    - c_str
    - elog<InternalFailure>
    - ipmi::getDbusProperty
    - lg2::error
    - dcmi::getPCapObject
    linkageType: ''
    returnType: std::optional<uint32_t>
    signature: std::optional<uint32_t> getPcap(ipmi::Context::ptr& ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dcmi::getPCapObject
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:202,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:211,1
    - Dst: std::optional::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:211,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:211,1
    - Dst: std::optional::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:212,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:212,1
    - Dst: boost::system::error_code::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:215,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:217,1
    - Dst: boost::system::error_code::message
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:218,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:219,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' ctx'
    argTypes:
    - ipmi::Context::ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 224
    functionName: dcmi::getPcapEnabled
    functionSourceFile: /src/phosphor-host-ipmid/dcmihandler.cpp
    functionUses: 0
    functionsReached:
    - std::optional::value
    - boost::system::error_code::message
    - boost::system::error_code::value
    - c_str
    - elog<InternalFailure>
    - ipmi::getDbusProperty
    - lg2::error
    - dcmi::getPCapObject
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> getPcapEnabled(ipmi::Context::ptr& ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dcmi::getPCapObject
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:228,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:238,1
    - Dst: std::optional::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:238,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:238,1
    - Dst: std::optional::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:239,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:239,1
    - Dst: boost::system::error_code::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:242,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:244,1
    - Dst: boost::system::error_code::message
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:245,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:246,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' ctx'
    argTypes:
    - ipmi::Context::ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 251
    functionName: dcmi::getPcapExceptAction
    functionSourceFile: /src/phosphor-host-ipmid/dcmihandler.cpp
    functionUses: 0
    functionsReached:
    - std::optional::value
    - boost::system::error_code::message
    - boost::system::error_code::value
    - c_str
    - elog<InternalFailure>
    - ipmi::getDbusProperty
    - lg2::error
    - dcmi::getPCapObject
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> getPcapExceptAction(ipmi::Context::ptr&
      ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dcmi::getPCapObject
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:255,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:264,1
    - Dst: std::optional::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:264,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:264,1
    - Dst: std::optional::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:265,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:265,1
    - Dst: boost::system::error_code::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:267,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:269,1
    - Dst: boost::system::error_code::message
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:270,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:271,1
    - Dst: std::chrono::duration_cast<std::chrono::milliseconds>
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:275,1
    - Dst: std::chrono::microseconds
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:276,1
    - Dst: count
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:275,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' ctx'
    argTypes:
    - ipmi::Context::ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 278
    functionName: dcmi::getPcapCorrectTime
    functionSourceFile: /src/phosphor-host-ipmid/dcmihandler.cpp
    functionUses: 0
    functionsReached:
    - std::optional::value
    - boost::system::error_code::message
    - count
    - boost::system::error_code::value
    - c_str
    - std::chrono::duration_cast<std::chrono::milliseconds>
    - std::chrono::microseconds
    - elog<InternalFailure>
    - ipmi::getDbusProperty
    - lg2::error
    - dcmi::getPCapObject
    linkageType: ''
    returnType: std::optional<uint32_t>
    signature: std::optional<uint32_t> getPcapCorrectTime(ipmi::Context::ptr& ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dcmi::getPCapObject
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:282,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:291,1
    - Dst: std::optional::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:291,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:291,1
    - Dst: std::optional::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:292,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:292,1
    - Dst: boost::system::error_code::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:294,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:296,1
    - Dst: boost::system::error_code::message
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:297,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:298,1
    - Dst: std::chrono::duration_cast<std::chrono::seconds>
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:302,1
    - Dst: std::chrono::microseconds
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:303,1
    - Dst: count
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:302,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' ctx'
    argTypes:
    - ipmi::Context::ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 305
    functionName: dcmi::getPcapSamplPeriod
    functionSourceFile: /src/phosphor-host-ipmid/dcmihandler.cpp
    functionUses: 0
    functionsReached:
    - std::optional::value
    - boost::system::error_code::message
    - count
    - std::chrono::duration_cast<std::chrono::seconds>
    - boost::system::error_code::value
    - c_str
    - std::chrono::microseconds
    - elog<InternalFailure>
    - ipmi::getDbusProperty
    - lg2::error
    - dcmi::getPCapObject
    linkageType: ''
    returnType: std::optional<uint16_t>
    signature: std::optional<uint16_t> getPcapSamplPeriod(ipmi::Context::ptr& ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dcmi::getPCapObject
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:309,1
    - Dst: ipmi::setDbusProperty
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:317,1
    - Dst: std::optional::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:317,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:317,1
    - Dst: std::optional::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:318,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:318,1
    - Dst: boost::system::error_code::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:321,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:323,1
    - Dst: boost::system::error_code::message
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:323,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:324,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' ctx'
    - powerCap
    argTypes:
    - ipmi::Context::ptr
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 329
    functionName: dcmi::setPcap
    functionSourceFile: /src/phosphor-host-ipmid/dcmihandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::setDbusProperty
    - std::optional::value
    - boost::system::error_code::message
    - c_str
    - elog<InternalFailure>
    - boost::system::error_code::value
    - lg2::error
    - dcmi::getPCapObject
    linkageType: ''
    returnType: bool
    signature: bool setPcap(ipmi::Context::ptr& ctx, const uint32_t powerCap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dcmi::getPCapObject
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:333,1
    - Dst: ipmi::setDbusProperty
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:341,1
    - Dst: std::optional::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:341,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:341,1
    - Dst: std::optional::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:342,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:342,1
    - Dst: boost::system::error_code::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:345,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:347,1
    - Dst: boost::system::error_code::message
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:348,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:349,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' ctx'
    - enabled
    argTypes:
    - ipmi::Context::ptr
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 353
    functionName: dcmi::setPcapEnable
    functionSourceFile: /src/phosphor-host-ipmid/dcmihandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::setDbusProperty
    - std::optional::value
    - boost::system::error_code::message
    - c_str
    - elog<InternalFailure>
    - boost::system::error_code::value
    - lg2::error
    - dcmi::getPCapObject
    linkageType: ''
    returnType: bool
    signature: bool setPcapEnable(ipmi::Context::ptr& ctx, bool enabled)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dcmi::getPCapObject
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:358,1
    - Dst: ipmi::setDbusProperty
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:366,1
    - Dst: std::optional::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:366,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:366,1
    - Dst: std::optional::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:367,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:367,1
    - Dst: boost::system::error_code::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:369,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:371,1
    - Dst: boost::system::error_code::message
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:372,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:373,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' ctx'
    - ' pcapExceptAct'
    argTypes:
    - ipmi::Context::ptr
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 378
    functionName: dcmi::setPcapExceptAction
    functionSourceFile: /src/phosphor-host-ipmid/dcmihandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::setDbusProperty
    - std::optional::value
    - boost::system::error_code::message
    - c_str
    - elog<InternalFailure>
    - boost::system::error_code::value
    - lg2::error
    - dcmi::getPCapObject
    linkageType: ''
    returnType: bool
    signature: "bool setPcapExceptAction(ipmi::Context::ptr& ctx,\n                         const
      std::string& pcapExceptAct)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dcmi::getPCapObject
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:382,1
    - Dst: std::chrono::duration_cast<std::chrono::microseconds>
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:394,1
    - Dst: std::chrono::milliseconds
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:395,1
    - Dst: count
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:394,1
    - Dst: ipmi::setDbusProperty
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:398,1
    - Dst: std::optional::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:398,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:398,1
    - Dst: std::optional::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:399,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:399,1
    - Dst: boost::system::error_code::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:401,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:403,1
    - Dst: boost::system::error_code::message
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:404,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:405,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' ctx'
    - pcapCorrectTime
    argTypes:
    - ipmi::Context::ptr
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 410
    functionName: dcmi::setPcapCorrectTime
    functionSourceFile: /src/phosphor-host-ipmid/dcmihandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::setDbusProperty
    - std::chrono::duration_cast<std::chrono::microseconds>
    - std::optional::value
    - boost::system::error_code::message
    - std::chrono::milliseconds
    - count
    - c_str
    - elog<InternalFailure>
    - boost::system::error_code::value
    - lg2::error
    - dcmi::getPCapObject
    linkageType: ''
    returnType: bool
    signature: bool setPcapCorrectTime(ipmi::Context::ptr& ctx, uint32_t pcapCorrectTime)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dcmi::getPCapObject
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:414,1
    - Dst: std::chrono::duration_cast<std::chrono::microseconds>
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:426,1
    - Dst: std::chrono::seconds
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:427,1
    - Dst: count
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:426,1
    - Dst: ipmi::setDbusProperty
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:430,1
    - Dst: std::optional::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:430,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:430,1
    - Dst: std::optional::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:431,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:431,1
    - Dst: boost::system::error_code::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:433,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:435,1
    - Dst: boost::system::error_code::message
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:436,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:437,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' ctx'
    - pcapSamplPeriod
    argTypes:
    - ipmi::Context::ptr
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 442
    functionName: dcmi::setPcapSamplPeriod
    functionSourceFile: /src/phosphor-host-ipmid/dcmihandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::setDbusProperty
    - std::chrono::duration_cast<std::chrono::microseconds>
    - std::optional::value
    - boost::system::error_code::message
    - count
    - std::chrono::seconds
    - c_str
    - elog<InternalFailure>
    - boost::system::error_code::value
    - lg2::error
    - dcmi::getPCapObject
    linkageType: ''
    returnType: bool
    signature: bool setPcapSamplPeriod(ipmi::Context::ptr& ctx, uint16_t pcapSamplPeriod)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getDbusObject
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:449,1
    - Dst: boost::system::error_code::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:451,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:458,1
    - Dst: boost::system::error_code::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:460,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:462,1
    - Dst: boost::system::error_code::message
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:463,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:464,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' ctx'
    argTypes:
    - ipmi::Context::ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 469
    functionName: dcmi::readAssetTag
    functionSourceFile: /src/phosphor-host-ipmid/dcmihandler.cpp
    functionUses: 0
    functionsReached:
    - boost::system::error_code::message
    - ipmi::getDbusProperty
    - elog<InternalFailure>
    - boost::system::error_code::value
    - getDbusObject
    - lg2::error
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> readAssetTag(ipmi::Context::ptr& ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getDbusObject
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:476,1
    - Dst: boost::system::error_code::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:478,1
    - Dst: ipmi::setDbusProperty
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:484,1
    - Dst: boost::system::error_code::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:486,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:488,1
    - Dst: boost::system::error_code::message
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:489,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:490,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' ctx'
    - ' assetTag'
    argTypes:
    - ipmi::Context::ptr
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 494
    functionName: dcmi::writeAssetTag
    functionSourceFile: /src/phosphor-host-ipmid/dcmihandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::setDbusProperty
    - boost::system::error_code::message
    - elog<InternalFailure>
    - boost::system::error_code::value
    - getDbusObject
    - lg2::error
    linkageType: ''
    returnType: bool
    signature: bool writeAssetTag(ipmi::Context::ptr& ctx, const std::string& assetTag)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:500,1
    - Dst: boost::system::error_code::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:501,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:506,1
    - Dst: boost::system::error_code::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:508,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:510,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:511,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' ctx'
    argTypes:
    - ipmi::Context::ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 496
    functionDepth: 1
    functionLinenumber: 496
    functionLinenumberEnd: 515
    functionName: dcmi::getHostName
    functionSourceFile: /src/phosphor-host-ipmid/dcmihandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::getService
    - ipmi::getDbusProperty
    - elog<InternalFailure>
    - boost::system::error_code::value
    - lg2::error
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> getHostName(ipmi::Context::ptr& ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getChannelName
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:520,1
    - Dst: auto::empty
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:521,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:523,1
    - Dst: ipmi::getDbusObject
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:528,1
    - Dst: boost::system::error_code::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:530,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:535,1
    - Dst: boost::system::error_code::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:536,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:541,1
    - Dst: boost::system::error_code::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:543,1
    - Dst: EthernetInterface::convertDHCPConfFromString
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:548,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - ' ctx'
    argTypes:
    - ipmi::Context::ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 517
    functionDepth: 1
    functionLinenumber: 517
    functionLinenumberEnd: 549
    functionName: dcmi::getDHCPEnabled
    functionSourceFile: /src/phosphor-host-ipmid/dcmihandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::getService
    - ipmi::getDbusProperty
    - ipmi::getChannelName
    - auto::empty
    - ipmi::getDbusObject
    - EthernetInterface::convertDHCPConfFromString
    - boost::system::error_code::value
    - lg2::error
    linkageType: ''
    returnType: std::optional<EthernetInterface::DHCPConf>
    signature: "std::optional<EthernetInterface::DHCPConf> getDHCPEnabled(\n    ipmi::Context::ptr&
      ctx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getAllDbusObjects
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:555,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:565,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - ' ctx'
    - ' prop'
    argTypes:
    - ipmi::Context::ptr
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 579
    functionName: dcmi::getDHCPOption
    functionSourceFile: /src/phosphor-host-ipmid/dcmihandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::getDbusProperty
    - ipmi::getAllDbusObjects
    linkageType: ''
    returnType: std::optional<bool>
    signature: "std::optional<bool> getDHCPOption(ipmi::Context::ptr& ctx,\n                                  const
      std::string& prop)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getAllDbusObjects
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:584,1
    - Dst: ipmi::setDbusProperty
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:593,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - ' ctx'
    - prop
    - value
    argTypes:
    - ipmi::Context::ptr
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 602
    functionName: dcmi::setDHCPOption
    functionSourceFile: /src/phosphor-host-ipmid/dcmihandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::setDbusProperty
    - ipmi::getAllDbusObjects
    linkageType: ''
    returnType: bool
    signature: bool setDHCPOption(ipmi::Context::ptr& ctx, std::string prop, bool
      value)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: dcmi::isDCMIPowerMgmtSupported
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:615,1
    - Dst: ipmi::responseInvalidCommand
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:617,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:621,1
    - Dst: dcmi::getPcap
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:624,1
    - Dst: dcmi::getPcapEnabled
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:625,1
    - Dst: dcmi::getPcapCorrectTime
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:626,1
    - Dst: dcmi::getPcapSamplPeriod
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:627,1
    - Dst: dcmi::getPcapExceptAction
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:628,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:633,1
    - Dst: std::optional::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:640,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:644,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:648,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:652,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:656,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:660,1
    - Dst: std::optional::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:663,1
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:666,1
    - Dst: std::optional::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:667,1
    - Dst: std::optional::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:667,1
    - Dst: std::optional::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:668,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:671,1
    - Dst: std::optional::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:671,1
    - Dst: std::optional::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:672,1
    - Dst: std::optional::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:673,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 2
    argNames:
    - ctx
    - reserved
    argTypes:
    - ipmi::Context::ptr
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 606
    functionDepth: 2
    functionLinenumber: 606
    functionLinenumberEnd: 674
    functionName: getPowerLimit
    functionSourceFile: /src/phosphor-host-ipmid/dcmihandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::responseSuccess
    - ipmi::responseUnspecifiedError
    - ipmi::responseInvalidCommand
    - dcmi::isDCMIPowerMgmtSupported
    - std::optional::value
    - dcmi::getPcapEnabled
    - ipmi::responseInvalidFieldRequest
    - static_cast<uint8_t>
    - dcmi::getPcapExceptAction
    - dcmi::getPcapSamplPeriod
    - ipmi::response
    - dcmi::getPcapCorrectTime
    - dcmi::getPcap
    linkageType: ''
    returnType: "ipmi::RspType<uint16_t, // reserved\n              uint8_t,  // exception
      actions\n              uint16_t, // power limit requested in watts\n              uint32_t,
      // correction time in milliseconds\n              uint16_t, // reserved\n              uint16_t
      \ // statistics sampling period in seconds\n              >"
    signature: "ipmi::RspType<uint16_t, // reserved\n              uint8_t,  // exception
      actions\n              uint16_t, // power limit requested in watts\n              uint32_t,
      // correction time in milliseconds\n              uint16_t, // reserved\n              uint16_t
      \ // statistics sampling period in seconds\n              > getPowerLimit(ipmi::Context::ptr
      ctx, uint16_t reserved)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: dcmi::isDCMIPowerMgmtSupported
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:681,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:683,1
    - Dst: ipmi::responseInvalidCommand
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:684,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:689,1
    - Dst: dcmi::setPcap
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:692,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:694,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:708,1
    - Dst: static_cast<dcmi::ExceptActOptions>
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:713,1
    - Dst: dcmi::setPcapExceptAction
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:737,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:739,1
    - Dst: dcmi::setPcapCorrectTime
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:742,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:744,1
    - Dst: dcmi::setPcapSamplPeriod
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:747,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:749,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:752,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 8
    argNames:
    - ' ctx'
    - reserved1
    - reserved2
    - exceptionAction
    - powerLimit
    - correctionTime
    - reserved3
    - statsPeriod
    argTypes:
    - ipmi::Context::ptr
    - uint16_t
    - uint8_t
    - uint8_t
    - uint16_t
    - uint32_t
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 676
    functionDepth: 2
    functionLinenumber: 676
    functionLinenumberEnd: 753
    functionName: setPowerLimit
    functionSourceFile: /src/phosphor-host-ipmid/dcmihandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::responseSuccess
    - ipmi::responseUnspecifiedError
    - ipmi::responseInvalidCommand
    - dcmi::isDCMIPowerMgmtSupported
    - dcmi::setPcapExceptAction
    - dcmi::setPcapSamplPeriod
    - static_cast<dcmi::ExceptActOptions>
    - ipmi::responseInvalidFieldRequest
    - dcmi::setPcap
    - lg2::error
    - dcmi::setPcapCorrectTime
    linkageType: ''
    returnType: ipmi::RspType<>
    signature: "ipmi::RspType<> setPowerLimit(ipmi::Context::ptr& ctx, uint16_t reserved1,\n
      \                             uint8_t reserved2, uint8_t exceptionAction,\n
      \                             uint16_t powerLimit, uint32_t correctionTime,\n
      \                             uint16_t reserved3, uint16_t statsPeriod)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dcmi::isDCMIPowerMgmtSupported
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:758,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:760,1
    - Dst: ipmi::responseInvalidCommand
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:761,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:765,1
    - Dst: dcmi::setPcapEnable
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:768,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:770,1
    - Dst: lg2::info
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:773,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:776,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - ' ctx'
    - enabled
    - reserved1
    - reserved2
    argTypes:
    - ipmi::Context::ptr
    - bool
    - uint7_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 755
    functionDepth: 2
    functionLinenumber: 755
    functionLinenumberEnd: 777
    functionName: applyPowerLimit
    functionSourceFile: /src/phosphor-host-ipmid/dcmihandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::responseSuccess
    - ipmi::responseUnspecifiedError
    - ipmi::responseInvalidCommand
    - dcmi::isDCMIPowerMgmtSupported
    - ipmi::responseInvalidFieldRequest
    - dcmi::setPcapEnable
    - lg2::info
    - lg2::error
    linkageType: ''
    returnType: ipmi::RspType<>
    signature: "ipmi::RspType<> applyPowerLimit(ipmi::Context::ptr& ctx, bool enabled,\n
      \                               uint7_t reserved1, uint16_t reserved2)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::responseParmOutOfRange
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:789,1
    - Dst: dcmi::readAssetTag
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:792,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:795,1
    - Dst: std::optional::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:798,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:801,1
    - Dst: resize
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:803,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:806,1
    - Dst: ipmi::responseParmOutOfRange
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:808,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:812,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:814,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:817,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:817,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:818,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:819,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:821,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 3
    argNames:
    - ' ctx'
    - offset
    - count
    argTypes:
    - ipmi::Context::ptr
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 779
    functionDepth: 1
    functionLinenumber: 779
    functionLinenumberEnd: 822
    functionName: getAssetTag
    functionSourceFile: /src/phosphor-host-ipmid/dcmihandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::responseSuccess
    - ipmi::responseUnspecifiedError
    - std::optional::value
    - ipmi::responseParmOutOfRange
    - size
    - static_cast<uint8_t>
    - resize
    - begin
    - dcmi::readAssetTag
    linkageType: ''
    returnType: "ipmi::RspType<uint8_t,          // total tag length\n              std::vector<char>
      // tag data\n              >"
    signature: "ipmi::RspType<uint8_t,          // total tag length\n              std::vector<char>
      // tag data\n              > getAssetTag(ipmi::Context::ptr& ctx, uint8_t offset,
      uint8_t count)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::responseParmOutOfRange
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:834,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:836,1
    - Dst: ipmi::responseReqDataLenInvalid
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:838,1
    - Dst: dcmi::readAssetTag
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:841,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:844,1
    - Dst: std::optional::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:847,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:849,1
    - Dst: ipmi::responseParmOutOfRange
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:851,1
    - Dst: resize
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:855,1
    - Dst: append
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:856,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:856,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:856,1
    - Dst: dcmi::writeAssetTag
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:858,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:860,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:863,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:863,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:864,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 4
    argNames:
    - ' ctx'
    - offset
    - count
    - ' data'
    argTypes:
    - ipmi::Context::ptr
    - uint8_t
    - uint8_t
    - std::vector<char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 865
      start: 824
    functionDepth: 1
    functionLinenumber: 824
    functionLinenumberEnd: 865
    functionName: setAssetTag
    functionSourceFile: /src/phosphor-host-ipmid/dcmihandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::responseSuccess
    - ipmi::responseUnspecifiedError
    - append
    - std::optional::value
    - ipmi::responseParmOutOfRange
    - size
    - dcmi::writeAssetTag
    - ipmi::responseReqDataLenInvalid
    - static_cast<uint8_t>
    - resize
    - begin
    - end
    - dcmi::readAssetTag
    linkageType: ''
    returnType: "ipmi::RspType<uint8_t // new asset tag length\n              >"
    signature: "ipmi::RspType<uint8_t // new asset tag length\n              > setAssetTag(ipmi::Context::ptr&
      ctx, uint8_t offset, uint8_t count,\n                const std::vector<char>&
      data)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::responseParmOutOfRange
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:874,1
    - Dst: dcmi::getHostName
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:877,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:880,1
    - Dst: std::optional::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:883,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:886,1
    - Dst: resize
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:888,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:891,1
    - Dst: ipmi::responseParmOutOfRange
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:893,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:897,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:899,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:902,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:902,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:903,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:904,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:906,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - ' ctx'
    - offset
    - count
    argTypes:
    - ipmi::Context::ptr
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 907
      start: 867
    functionDepth: 2
    functionLinenumber: 867
    functionLinenumberEnd: 907
    functionName: getMgmntCtrlIdStr
    functionSourceFile: /src/phosphor-host-ipmid/dcmihandler.cpp
    functionUses: 0
    functionsReached:
    - dcmi::getHostName
    - ipmi::responseUnspecifiedError
    - ipmi::responseSuccess
    - std::optional::value
    - ipmi::responseParmOutOfRange
    - size
    - static_cast<uint8_t>
    - resize
    - begin
    linkageType: ''
    returnType: "ipmi::RspType<uint8_t,          // length\n              std::vector<char>
      // data\n              >"
    signature: "ipmi::RspType<uint8_t,          // length\n              std::vector<char>
      // data\n              > getMgmntCtrlIdStr(ipmi::Context::ptr& ctx, uint8_t
      offset, uint8_t count)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::responseParmOutOfRange
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:916,1
    - Dst: std::vector<char>::size
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:918,1
    - Dst: ipmi::responseReqDataLenInvalid
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:920,1
    - Dst: std::vector<char>::back
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:922,1
    - Dst: std::vector<char>::resize
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:926,1
    - Dst: ipmi::responseParmOutOfRange
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:930,1
    - Dst: std::string::size
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:935,1
    - Dst: dcmi::getHostName
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:938,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:941,1
    - Dst: std::optional::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:943,1
    - Dst: std::string::resize
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:944,1
    - Dst: std::string::append
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:948,1
    - Dst: std::vector<char>::begin
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:948,1
    - Dst: std::vector<char>::end
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:948,1
    - Dst: ipmi::setDbusProperty
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:953,1
    - Dst: std::string::clear
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:956,1
    - Dst: boost::system::error_code::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:957,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:959,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:963,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:964,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 4
    argNames:
    - ' ctx'
    - offset
    - count
    - data
    argTypes:
    - ipmi::Context::ptr
    - uint8_t
    - uint8_t
    - std::vector<char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 909
    functionDepth: 2
    functionLinenumber: 909
    functionLinenumberEnd: 965
    functionName: setMgmntCtrlIdStr
    functionSourceFile: /src/phosphor-host-ipmid/dcmihandler.cpp
    functionUses: 0
    functionsReached:
    - std::string::clear
    - ipmi::setDbusProperty
    - std::vector<char>::resize
    - dcmi::getHostName
    - ipmi::responseUnspecifiedError
    - ipmi::responseSuccess
    - std::optional::value
    - ipmi::responseParmOutOfRange
    - std::vector<char>::size
    - std::string::append
    - std::string::resize
    - std::vector<char>::end
    - std::vector<char>::back
    - boost::system::error_code::value
    - ipmi::responseReqDataLenInvalid
    - static_cast<uint8_t>
    - std::vector<char>::begin
    - std::string::size
    linkageType: ''
    returnType: ipmi::RspType<uint8_t>
    signature: "ipmi::RspType<uint8_t> setMgmntCtrlIdStr(ipmi::Context::ptr& ctx,\n
      \                                        uint8_t offset, uint8_t count,\n                                         std::vector<char>
      data)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: std::ifstream::is_open
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:970,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:972,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:973,1
    - Dst: nlohmann::json::parse
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:976,1
    - Dst: auto::is_discarded
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:977,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:979,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:980,1
    - Dst: ipmi::message::Payload::pack
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:990,1
    - Dst: static_cast<DCMICapParameters>
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1001,1
    - Dst: auto::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1005,1
    - Dst: auto::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1006,1
    - Dst: auto::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1007,1
    - Dst: auto::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1009,1
    - Dst: ipmi::message::Payload::pack
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1010,1
    - Dst: auto::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1018,1
    - Dst: auto::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1020,1
    - Dst: auto::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1022,1
    - Dst: auto::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1024,1
    - Dst: auto::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1026,1
    - Dst: ipmi::message::Payload::pack
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1027,1
    - Dst: auto::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1037,1
    - Dst: auto::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1038,1
    - Dst: auto::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1039,1
    - Dst: ipmi::message::Payload::pack
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1040,1
    - Dst: auto::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1048,1
    - Dst: auto::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1050,1
    - Dst: auto::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1052,1
    - Dst: ipmi::message::Payload::pack
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1053,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1060,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1061,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1065,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 1
    argNames:
    - parameter
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1066
      start: 967
    functionDepth: 1
    functionLinenumber: 967
    functionLinenumberEnd: 1066
    functionName: getDCMICapabilities
    functionSourceFile: /src/phosphor-host-ipmid/dcmihandler.cpp
    functionUses: 0
    functionsReached:
    - static_cast<DCMICapParameters>
    - auto::is_discarded
    - ipmi::responseSuccess
    - std::ifstream::is_open
    - ipmi::responseUnspecifiedError
    - nlohmann::json::parse
    - auto::value
    - ipmi::message::Payload::pack
    - ipmi::responseInvalidFieldRequest
    - lg2::error
    linkageType: ''
    returnType: ipmi::RspType<ipmi::message::Payload>
    signature: ipmi::RspType<ipmi::message::Payload> getDCMICapabilities(uint8_t parameter)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getAllDbusProperties
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1084,1
    - Dst: boost::system::error_code::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1086,1
    - Dst: std::make_tuple
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1088,1
    - Dst: std::visit
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1091,1
    - Dst: ipmi::VariantToDoubleVisitor
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1091,1
    - Dst: ipmi::PropertyMap::at
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1092,1
    - Dst: std::abs
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1093,1
    - Dst: ipmi::PropertyMap::find
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1095,1
    - Dst: ipmi::PropertyMap::end
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1097,1
    - Dst: std::visit
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1099,1
    - Dst: ipmi::VariantToDoubleVisitor
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1099,1
    - Dst: std::pow
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1101,1
    - Dst: std::make_tuple
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1111,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1112,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - ' ctx'
    - ' dbusService'
    - ' dbusPath'
    argTypes:
    - ipmi::Context::ptr
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1113
      start: 1073
    functionDepth: 1
    functionLinenumber: 1073
    functionLinenumberEnd: 1113
    functionName: dcmi::temp_readings::readTemp
    functionSourceFile: /src/phosphor-host-ipmid/dcmihandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::PropertyMap::find
    - ipmi::PropertyMap::end
    - ipmi::getAllDbusProperties
    - std::visit
    - std::make_tuple
    - ipmi::VariantToDoubleVisitor
    - std::pow
    - static_cast<uint8_t>
    - std::abs
    - boost::system::error_code::value
    - ipmi::PropertyMap::at
    linkageType: ''
    returnType: std::tuple<bool, bool, uint8_t>
    signature: "std::tuple<bool, bool, uint8_t> readTemp(ipmi::Context::ptr& ctx,\n
      \                                        const std::string& dbusService,\n                                         const
      std::string& dbusPath)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: parseJSONConfig
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1121,1
    - Dst: auto::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1123,1
    - Dst: std::vector::size
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1127,1
    - Dst: value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1132,1
    - Dst: value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1139,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1142,1
    - Dst: boost::system::error_code::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1143,1
    - Dst: dcmi::temp_readings::readTemp
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1149,1
    - Dst: std::vector::emplace_back
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1152,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1157,1
    - Dst: std::min
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1157,1
    - Dst: std::vector::size
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1157,1
    - Dst: std::make_tuple
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1158,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 4
    argNames:
    - ' ctx'
    - ' type'
    - instance
    - count
    argTypes:
    - ipmi::Context::ptr
    - std::string
    - uint8_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1159
      start: 1115
    functionDepth: 2
    functionLinenumber: 1115
    functionLinenumberEnd: 1159
    functionName: dcmi::temp_readings::read
    functionSourceFile: /src/phosphor-host-ipmid/dcmihandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::getService
    - auto::value
    - std::make_tuple
    - std::vector::size
    - value
    - std::min
    - static_cast<uint8_t>
    - dcmi::temp_readings::readTemp
    - boost::system::error_code::value
    - std::vector::emplace_back
    - parseJSONConfig
    linkageType: ''
    returnType: std::tuple<std::vector<std::tuple<uint7_t, bool, uint8_t>>, uint8_t>
    signature: "std::tuple<std::vector<std::tuple<uint7_t, bool, uint8_t>>, uint8_t>
      read(\n    ipmi::Context::ptr& ctx, const std::string& type, uint8_t instance,\n
      \   size_t count)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getAllDbusProperties
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1084,1
    - Dst: boost::system::error_code::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1086,1
    - Dst: std::make_tuple
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1088,1
    - Dst: std::visit
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1091,1
    - Dst: ipmi::VariantToDoubleVisitor
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1091,1
    - Dst: ipmi::PropertyMap::at
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1092,1
    - Dst: std::abs
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1093,1
    - Dst: ipmi::PropertyMap::find
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1095,1
    - Dst: ipmi::PropertyMap::end
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1097,1
    - Dst: std::visit
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1099,1
    - Dst: ipmi::VariantToDoubleVisitor
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1099,1
    - Dst: std::pow
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1101,1
    - Dst: std::make_tuple
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1111,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1112,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - ' ctx'
    - ' dbusService'
    - ' dbusPath'
    argTypes:
    - ipmi::Context::ptr
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1113
      start: 1073
    functionDepth: 1
    functionLinenumber: 1073
    functionLinenumberEnd: 1113
    functionName: dcmi::temp_readings::readTemp
    functionSourceFile: /src/phosphor-host-ipmid/dcmihandler.cpp
    functionUses: 1
    functionsReached:
    - ipmi::PropertyMap::find
    - ipmi::PropertyMap::end
    - ipmi::getAllDbusProperties
    - std::visit
    - std::make_tuple
    - ipmi::VariantToDoubleVisitor
    - std::pow
    - static_cast<uint8_t>
    - std::abs
    - boost::system::error_code::value
    - ipmi::PropertyMap::at
    linkageType: ''
    returnType: std::tuple<bool, bool, uint8_t>
    signature: "std::tuple<bool, bool, uint8_t> readTemp(ipmi::Context::ptr& ctx,\n
      \                                        const std::string& dbusService,\n                                         const
      std::string& dbusPath)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: parseJSONConfig
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1121,1
    - Dst: auto::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1123,1
    - Dst: std::vector::size
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1127,1
    - Dst: value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1132,1
    - Dst: value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1139,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1142,1
    - Dst: boost::system::error_code::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1143,1
    - Dst: dcmi::temp_readings::readTemp
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1149,1
    - Dst: std::vector::emplace_back
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1152,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1157,1
    - Dst: std::min
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1157,1
    - Dst: std::vector::size
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1157,1
    - Dst: std::make_tuple
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1158,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 4
    argNames:
    - ' ctx'
    - ' type'
    - instance
    - count
    argTypes:
    - ipmi::Context::ptr
    - std::string
    - uint8_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1159
      start: 1115
    functionDepth: 2
    functionLinenumber: 1115
    functionLinenumberEnd: 1159
    functionName: dcmi::temp_readings::read
    functionSourceFile: /src/phosphor-host-ipmid/dcmihandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::getService
    - auto::value
    - std::make_tuple
    - std::vector::size
    - value
    - std::min
    - static_cast<uint8_t>
    - dcmi::temp_readings::readTemp
    - boost::system::error_code::value
    - std::vector::emplace_back
    - parseJSONConfig
    linkageType: ''
    returnType: std::tuple<std::vector<std::tuple<uint7_t, bool, uint8_t>>, uint8_t>
    signature: "std::tuple<std::vector<std::tuple<uint7_t, bool, uint8_t>>, uint8_t>
      read(\n    ipmi::Context::ptr& ctx, const std::string& type, uint8_t instance,\n
      \   size_t count)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getAllDbusProperties
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1084,1
    - Dst: boost::system::error_code::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1086,1
    - Dst: std::make_tuple
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1088,1
    - Dst: std::visit
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1091,1
    - Dst: ipmi::VariantToDoubleVisitor
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1091,1
    - Dst: ipmi::PropertyMap::at
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1092,1
    - Dst: std::abs
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1093,1
    - Dst: ipmi::PropertyMap::find
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1095,1
    - Dst: ipmi::PropertyMap::end
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1097,1
    - Dst: std::visit
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1099,1
    - Dst: ipmi::VariantToDoubleVisitor
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1099,1
    - Dst: std::pow
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1101,1
    - Dst: std::make_tuple
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1111,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1112,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - ' ctx'
    - ' dbusService'
    - ' dbusPath'
    argTypes:
    - ipmi::Context::ptr
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1113
      start: 1073
    functionDepth: 1
    functionLinenumber: 1073
    functionLinenumberEnd: 1113
    functionName: dcmi::temp_readings::readTemp
    functionSourceFile: /src/phosphor-host-ipmid/dcmihandler.cpp
    functionUses: 2
    functionsReached:
    - ipmi::PropertyMap::find
    - ipmi::PropertyMap::end
    - ipmi::getAllDbusProperties
    - std::visit
    - std::make_tuple
    - ipmi::VariantToDoubleVisitor
    - std::pow
    - static_cast<uint8_t>
    - std::abs
    - boost::system::error_code::value
    - ipmi::PropertyMap::at
    linkageType: ''
    returnType: std::tuple<bool, bool, uint8_t>
    signature: "std::tuple<bool, bool, uint8_t> readTemp(ipmi::Context::ptr& ctx,\n
      \                                        const std::string& dbusService,\n                                         const
      std::string& dbusPath)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: parseJSONConfig
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1121,1
    - Dst: auto::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1123,1
    - Dst: std::vector::size
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1127,1
    - Dst: value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1132,1
    - Dst: value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1139,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1142,1
    - Dst: boost::system::error_code::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1143,1
    - Dst: dcmi::temp_readings::readTemp
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1149,1
    - Dst: std::vector::emplace_back
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1152,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1157,1
    - Dst: std::min
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1157,1
    - Dst: std::vector::size
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1157,1
    - Dst: std::make_tuple
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1158,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 4
    argNames:
    - ' ctx'
    - ' type'
    - instance
    - count
    argTypes:
    - ipmi::Context::ptr
    - std::string
    - uint8_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1159
      start: 1115
    functionDepth: 2
    functionLinenumber: 1115
    functionLinenumberEnd: 1159
    functionName: dcmi::temp_readings::read
    functionSourceFile: /src/phosphor-host-ipmid/dcmihandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::getService
    - auto::value
    - std::make_tuple
    - std::vector::size
    - value
    - std::min
    - static_cast<uint8_t>
    - dcmi::temp_readings::readTemp
    - boost::system::error_code::value
    - std::vector::emplace_back
    - parseJSONConfig
    linkageType: ''
    returnType: std::tuple<std::vector<std::tuple<uint7_t, bool, uint8_t>>, uint8_t>
    signature: "std::tuple<std::vector<std::tuple<uint7_t, bool, uint8_t>>, uint8_t>
      read(\n    ipmi::Context::ptr& ctx, const std::string& type, uint8_t instance,\n
      \   size_t count)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getAllDbusProperties
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1084,1
    - Dst: boost::system::error_code::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1086,1
    - Dst: std::make_tuple
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1088,1
    - Dst: std::visit
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1091,1
    - Dst: ipmi::VariantToDoubleVisitor
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1091,1
    - Dst: ipmi::PropertyMap::at
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1092,1
    - Dst: std::abs
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1093,1
    - Dst: ipmi::PropertyMap::find
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1095,1
    - Dst: ipmi::PropertyMap::end
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1097,1
    - Dst: std::visit
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1099,1
    - Dst: ipmi::VariantToDoubleVisitor
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1099,1
    - Dst: std::pow
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1101,1
    - Dst: std::make_tuple
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1111,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1112,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - ' ctx'
    - ' dbusService'
    - ' dbusPath'
    argTypes:
    - ipmi::Context::ptr
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1113
      start: 1073
    functionDepth: 1
    functionLinenumber: 1073
    functionLinenumberEnd: 1113
    functionName: dcmi::temp_readings::readTemp
    functionSourceFile: /src/phosphor-host-ipmid/dcmihandler.cpp
    functionUses: 3
    functionsReached:
    - ipmi::PropertyMap::find
    - ipmi::PropertyMap::end
    - ipmi::getAllDbusProperties
    - std::visit
    - std::make_tuple
    - ipmi::VariantToDoubleVisitor
    - std::pow
    - static_cast<uint8_t>
    - std::abs
    - boost::system::error_code::value
    - ipmi::PropertyMap::at
    linkageType: ''
    returnType: std::tuple<bool, bool, uint8_t>
    signature: "std::tuple<bool, bool, uint8_t> readTemp(ipmi::Context::ptr& ctx,\n
      \                                        const std::string& dbusService,\n                                         const
      std::string& dbusPath)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: parseJSONConfig
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1121,1
    - Dst: auto::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1123,1
    - Dst: std::vector::size
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1127,1
    - Dst: value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1132,1
    - Dst: value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1139,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1142,1
    - Dst: boost::system::error_code::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1143,1
    - Dst: dcmi::temp_readings::readTemp
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1149,1
    - Dst: std::vector::emplace_back
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1152,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1157,1
    - Dst: std::min
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1157,1
    - Dst: std::vector::size
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1157,1
    - Dst: std::make_tuple
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1158,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 4
    argNames:
    - ' ctx'
    - ' type'
    - instance
    - count
    argTypes:
    - ipmi::Context::ptr
    - std::string
    - uint8_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1159
      start: 1115
    functionDepth: 2
    functionLinenumber: 1115
    functionLinenumberEnd: 1159
    functionName: dcmi::temp_readings::read
    functionSourceFile: /src/phosphor-host-ipmid/dcmihandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::getService
    - auto::value
    - std::make_tuple
    - std::vector::size
    - value
    - std::min
    - static_cast<uint8_t>
    - dcmi::temp_readings::readTemp
    - boost::system::error_code::value
    - std::vector::emplace_back
    - parseJSONConfig
    linkageType: ''
    returnType: std::tuple<std::vector<std::tuple<uint7_t, bool, uint8_t>>, uint8_t>
    signature: "std::tuple<std::vector<std::tuple<uint7_t, bool, uint8_t>>, uint8_t>
      read(\n    ipmi::Context::ptr& ctx, const std::string& type, uint8_t instance,\n
      \   size_t count)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1175,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1176,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1178,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1179,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1184,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1186,1
    - Dst: dcmi::temp_readings::read
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1192,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1195,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1195,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1197,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - ' ctx'
    - sensorType
    - entityId
    - entityInstance
    - instanceStart
    argTypes:
    - ipmi::Context::ptr
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1198
      start: 1164
    functionDepth: 3
    functionLinenumber: 1164
    functionLinenumberEnd: 1198
    functionName: getTempReadings
    functionSourceFile: /src/phosphor-host-ipmid/dcmihandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::responseSuccess
    - size
    - dcmi::temp_readings::read
    - ipmi::responseInvalidFieldRequest
    - static_cast<uint8_t>
    - end
    - find
    - lg2::error
    linkageType: ''
    returnType: "ipmi::RspType<uint8_t,                // total instances for entity
      id\n              uint8_t,                // number of instances in this reply\n
      \             std::vector<            // zero or more of the following two bytes\n
      \                 std::tuple<uint7_t, // temperature value\n                             bool,
      \   // sign bit\n                             uint8_t  // entity instance\n
      \                            >>>"
    signature: "ipmi::RspType<uint8_t,                // total instances for entity
      id\n              uint8_t,                // number of instances in this reply\n
      \             std::vector<            // zero or more of the following two bytes\n
      \                 std::tuple<uint7_t, // temperature value\n                             bool,
      \   // sign bit\n                             uint8_t  // entity instance\n
      \                            >>> getTempReadings(ipmi::Context::ptr& ctx, uint8_t
      sensorType,\n                    uint8_t entityId, uint8_t entityInstance,\n
      \                   uint8_t instanceStart)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1206,1
    - Dst: static_cast<dcmi::DCMIConfigParameters>
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1209,1
    - Dst: unpack
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1215,1
    - Dst: fullyUnpacked
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1215,1
    - Dst: ipmi::responseReqDataLenInvalid
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1217,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1221,1
    - Dst: dcmi::getDHCPEnabled
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1224,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1227,1
    - Dst: std::optional::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1230,1
    - Dst: unpack
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1245,1
    - Dst: fullyUnpacked
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1246,1
    - Dst: ipmi::responseReqDataLenInvalid
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1248,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1253,1
    - Dst: dcmi::setDHCPOption
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1255,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1263,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1265,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 4
    argNames:
    - ' ctx'
    - parameter
    - setSelector
    - ' payload'
    argTypes:
    - ipmi::Context::ptr
    - uint8_t
    - uint8_t
    - ipmi::message::Payload
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1266
      start: 1200
    functionDepth: 2
    functionLinenumber: 1200
    functionLinenumberEnd: 1266
    functionName: setDCMIConfParams
    functionSourceFile: /src/phosphor-host-ipmid/dcmihandler.cpp
    functionUses: 0
    functionsReached:
    - dcmi::getDHCPEnabled
    - static_cast<dcmi::DCMIConfigParameters>
    - ipmi::responseUnspecifiedError
    - ipmi::responseSuccess
    - std::optional::value
    - unpack
    - ipmi::responseReqDataLenInvalid
    - ipmi::responseInvalidFieldRequest
    - dcmi::setDHCPOption
    - fullyUnpacked
    linkageType: ''
    returnType: ipmi::RspType<>
    signature: "ipmi::RspType<> setDCMIConfParams(ipmi::Context::ptr& ctx, uint8_t
      parameter,\n                                  uint8_t setSelector,\n                                  ipmi::message::Payload&
      payload)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1273,1
    - Dst: ipmi::message::Payload::pack
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1276,1
    - Dst: static_cast<dcmi::DCMIConfigParameters>
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1280,1
    - Dst: ipmi::message::Payload::pack
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1283,1
    - Dst: dcmi::getDHCPOption
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1289,1
    - Dst: std::optional::has_value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1290,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1292,1
    - Dst: std::optional::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1294,1
    - Dst: ipmi::message::Payload::pack
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1298,1
    - Dst: ipmi::message::Payload::pack
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1303,1
    - Dst: ipmi::message::Payload::pack
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1306,1
    - Dst: ipmi::message::Payload::pack
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1309,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1312,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1315,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 3
    argNames:
    - ' ctx'
    - parameter
    - setSelector
    argTypes:
    - ipmi::Context::ptr
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1316
      start: 1268
    functionDepth: 1
    functionLinenumber: 1268
    functionLinenumberEnd: 1316
    functionName: getDCMIConfParams
    functionSourceFile: /src/phosphor-host-ipmid/dcmihandler.cpp
    functionUses: 0
    functionsReached:
    - std::optional::has_value
    - static_cast<dcmi::DCMIConfigParameters>
    - ipmi::responseUnspecifiedError
    - ipmi::responseSuccess
    - std::optional::value
    - ipmi::message::Payload::pack
    - dcmi::getDHCPOption
    - ipmi::responseInvalidFieldRequest
    linkageType: ''
    returnType: ipmi::RspType<ipmi::message::Payload>
    signature: "ipmi::RspType<ipmi::message::Payload> getDCMIConfParams(\n    ipmi::Context::ptr&
      ctx, uint8_t parameter, uint8_t setSelector)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::ifstream::is_open
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1322,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1324,1
    - Dst: nlohmann::json::parse
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1330,1
    - Dst: auto::is_discarded
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1331,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1333,1
    - Dst: auto::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1338,1
    - Dst: std::string::empty
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1339,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1341,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1350,1
    - Dst: boost::system::error_code::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1351,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1353,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1362,1
    - Dst: boost::system::error_code::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1364,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1366,1
    - Dst: static_cast<uint16_t>
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1372,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 1
    argNames:
    - ' ctx'
    argTypes:
    - ipmi::Context::ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1374
      start: 1318
    functionDepth: 1
    functionLinenumber: 1318
    functionLinenumberEnd: 1374
    functionName: readPower
    functionSourceFile: /src/phosphor-host-ipmid/dcmihandler.cpp
    functionUses: 0
    functionsReached:
    - auto::is_discarded
    - std::ifstream::is_open
    - nlohmann::json::parse
    - auto::value
    - ipmi::getService
    - ipmi::getDbusProperty
    - std::string::empty
    - boost::system::error_code::value
    - static_cast<uint16_t>
    - lg2::error
    linkageType: ''
    returnType: std::optional<uint16_t>
    signature: std::optional<uint16_t> readPower(ipmi::Context::ptr& ctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dcmi::isDCMIPowerMgmtSupported
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1389,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1391,1
    - Dst: ipmi::responseInvalidCommand
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1392,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1396,1
    - Dst: static_cast<PowerMode>
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1405,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1407,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1411,1
    - Dst: readPower
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1414,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1417,1
    - Dst: std::optional::value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1419,1
    - Dst: static_cast<uint32_t>
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1429,1
    - Dst: time
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1429,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1430,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 4
    argNames:
    - ' ctx'
    - mode
    - attributes
    - reserved
    argTypes:
    - ipmi::Context::ptr
    - uint8_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1433
      start: 1376
    functionDepth: 2
    functionLinenumber: 1376
    functionLinenumberEnd: 1433
    functionName: getPowerReading
    functionSourceFile: /src/phosphor-host-ipmid/dcmihandler.cpp
    functionUses: 0
    functionsReached:
    - time
    - ipmi::responseUnspecifiedError
    - ipmi::responseSuccess
    - static_cast<PowerMode>
    - dcmi::isDCMIPowerMgmtSupported
    - ipmi::responseInvalidCommand
    - std::optional::value
    - static_cast<uint32_t>
    - ipmi::responseInvalidFieldRequest
    - readPower
    - lg2::error
    linkageType: ''
    returnType: "ipmi::RspType<uint16_t, // current power\n              uint16_t,
      // minimum power\n              uint16_t, // maximum power\n              uint16_t,
      // average power\n              uint32_t, // timestamp\n              uint32_t,
      // sample period ms\n              uint6_t,  // reserved\n              bool,
      \    // power measurement active\n              bool      // reserved\n              >"
    signature: "ipmi::RspType<uint16_t, // current power\n              uint16_t,
      // minimum power\n              uint16_t, // maximum power\n              uint16_t,
      // average power\n              uint32_t, // timestamp\n              uint32_t,
      // sample period ms\n              uint6_t,  // reserved\n              bool,
      \    // power measurement active\n              bool      // reserved\n              >
      getPowerReading(ipmi::Context::ptr& ctx, uint8_t mode, uint8_t attributes,\n
      \                   uint8_t reserved)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1447,1
    - Dst: std::min
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1448,1
    - Dst: std::vector::size
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1448,1
    - Dst: std::vector::size
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1452,1
    - Dst: value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1457,1
    - Dst: value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1464,1
    - Dst: std::vector::emplace_back
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1465,1
    - Dst: std::make_tuple
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1468,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 4
    argNames:
    - ' type'
    - instance
    - ' config'
    - count
    argTypes:
    - std::string
    - uint8_t
    - nlohmann::json
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1469
      start: 1440
    functionDepth: 0
    functionLinenumber: 1440
    functionLinenumberEnd: 1469
    functionName: dcmi::sensor_info::read
    functionSourceFile: /src/phosphor-host-ipmid/dcmihandler.cpp
    functionUses: 0
    functionsReached:
    - std::make_tuple
    - std::min
    - value
    - std::vector::size
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::tuple<std::vector<uint16_t>, uint8_t>
    signature: "std::tuple<std::vector<uint16_t>, uint8_t> read(\n    const std::string&
      type, uint8_t instance, const nlohmann::json& config,\n    uint8_t count)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1447,1
    - Dst: std::min
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1448,1
    - Dst: std::vector::size
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1448,1
    - Dst: std::vector::size
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1452,1
    - Dst: value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1457,1
    - Dst: value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1464,1
    - Dst: std::vector::emplace_back
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1465,1
    - Dst: std::make_tuple
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1468,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 4
    argNames:
    - ' type'
    - instance
    - ' config'
    - count
    argTypes:
    - std::string
    - uint8_t
    - nlohmann::json
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1469
      start: 1440
    functionDepth: 0
    functionLinenumber: 1440
    functionLinenumberEnd: 1469
    functionName: dcmi::sensor_info::read
    functionSourceFile: /src/phosphor-host-ipmid/dcmihandler.cpp
    functionUses: 0
    functionsReached:
    - std::make_tuple
    - std::min
    - value
    - std::vector::size
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::tuple<std::vector<uint16_t>, uint8_t>
    signature: "std::tuple<std::vector<uint16_t>, uint8_t> read(\n    const std::string&
      type, uint8_t instance, const nlohmann::json& config,\n    uint8_t count)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1447,1
    - Dst: std::min
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1448,1
    - Dst: std::vector::size
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1448,1
    - Dst: std::vector::size
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1452,1
    - Dst: value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1457,1
    - Dst: value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1464,1
    - Dst: std::vector::emplace_back
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1465,1
    - Dst: std::make_tuple
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1468,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 4
    argNames:
    - ' type'
    - instance
    - ' config'
    - count
    argTypes:
    - std::string
    - uint8_t
    - nlohmann::json
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1469
      start: 1440
    functionDepth: 0
    functionLinenumber: 1440
    functionLinenumberEnd: 1469
    functionName: dcmi::sensor_info::read
    functionSourceFile: /src/phosphor-host-ipmid/dcmihandler.cpp
    functionUses: 0
    functionsReached:
    - std::make_tuple
    - std::min
    - value
    - std::vector::size
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::tuple<std::vector<uint16_t>, uint8_t>
    signature: "std::tuple<std::vector<uint16_t>, uint8_t> read(\n    const std::string&
      type, uint8_t instance, const nlohmann::json& config,\n    uint8_t count)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1447,1
    - Dst: std::min
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1448,1
    - Dst: std::vector::size
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1448,1
    - Dst: std::vector::size
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1452,1
    - Dst: value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1457,1
    - Dst: value
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1464,1
    - Dst: std::vector::emplace_back
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1465,1
    - Dst: std::make_tuple
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1468,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 4
    argNames:
    - ' type'
    - instance
    - ' config'
    - count
    argTypes:
    - std::string
    - uint8_t
    - nlohmann::json
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1469
      start: 1440
    functionDepth: 0
    functionLinenumber: 1440
    functionLinenumberEnd: 1469
    functionName: dcmi::sensor_info::read
    functionSourceFile: /src/phosphor-host-ipmid/dcmihandler.cpp
    functionUses: 0
    functionsReached:
    - std::make_tuple
    - std::min
    - value
    - std::vector::size
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::tuple<std::vector<uint16_t>, uint8_t>
    signature: "std::tuple<std::vector<uint16_t>, uint8_t> read(\n    const std::string&
      type, uint8_t instance, const nlohmann::json& config,\n    uint8_t count)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1481,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1482,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1484,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1485,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1490,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1492,1
    - Dst: dcmi::parseJSONConfig
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1495,1
    - Dst: dcmi::sensor_info::read
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1499,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1501,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1503,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - sensorType
    - entityId
    - entityInstance
    - instanceStart
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1504
      start: 1474
    functionDepth: 1
    functionLinenumber: 1474
    functionLinenumberEnd: 1504
    functionName: getSensorInfo
    functionSourceFile: /src/phosphor-host-ipmid/dcmihandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::responseSuccess
    - size
    - dcmi::parseJSONConfig
    - ipmi::responseInvalidFieldRequest
    - end
    - find
    - dcmi::sensor_info::read
    - lg2::error
    linkageType: ''
    returnType: "ipmi::RspType<uint8_t,              // total available instances\n
      \             uint8_t,              // number of records in this response\n
      \             std::vector<uint16_t> // records\n              >"
    signature: "ipmi::RspType<uint8_t,              // total available instances\n
      \             uint8_t,              // number of records in this response\n
      \             std::vector<uint16_t> // records\n              > getSensorInfo(uint8_t
      sensorType, uint8_t entityId, uint8_t entityInstance,\n                  uint8_t
      instanceStart)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: registerGroupHandler
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1509,1
    - Dst: registerGroupHandler
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1514,1
    - Dst: registerGroupHandler
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1519,1
    - Dst: registerGroupHandler
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1524,1
    - Dst: registerGroupHandler
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1529,1
    - Dst: registerGroupHandler
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1534,1
    - Dst: registerGroupHandler
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1539,1
    - Dst: registerGroupHandler
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1544,1
    - Dst: registerGroupHandler
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1549,1
    - Dst: registerGroupHandler
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1557,1
    - Dst: registerGroupHandler
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1562,1
    - Dst: registerGroupHandler
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1567,1
    - Dst: registerGroupHandler
      Src: /src/phosphor-host-ipmid/dcmihandler.cpp:1572,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1577
      start: 1506
    functionDepth: 0
    functionLinenumber: 1506
    functionLinenumberEnd: 1577
    functionName: registerNetFnDcmiFunctions
    functionSourceFile: /src/phosphor-host-ipmid/dcmihandler.cpp
    functionUses: 0
    functionsReached:
    - registerGroupHandler
    linkageType: ''
    returnType: void
    signature: void registerNetFnDcmiFunctions()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: getWRAllowlist
    functionSourceFile: /src/phosphor-host-ipmid/apphandler.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<i2cControllerWRAllowlist>
    signature: std::vector<i2cControllerWRAllowlist> & getWRAllowlist()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getAllDbusObjects
      Src: /src/phosphor-host-ipmid/apphandler.cpp:112,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/apphandler.cpp:115,1
    - Dst: boost::system::error_code::message
      Src: /src/phosphor-host-ipmid/apphandler.cpp:117,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/apphandler.cpp:118,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/apphandler.cpp:127,1
    - Dst: ipmi::getManagedObjects
      Src: /src/phosphor-host-ipmid/apphandler.cpp:130,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/apphandler.cpp:135,1
    - Dst: boost::system::error_code::message
      Src: /src/phosphor-host-ipmid/apphandler.cpp:136,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/apphandler.cpp:146,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/apphandler.cpp:147,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/apphandler.cpp:148,1
    - Dst: std::get<uint8_t>
      Src: /src/phosphor-host-ipmid/apphandler.cpp:150,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/apphandler.cpp:150,1
    - Dst: std::get<std::string>
      Src: /src/phosphor-host-ipmid/apphandler.cpp:152,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/apphandler.cpp:152,1
    - Dst: std::get<std::string>
      Src: /src/phosphor-host-ipmid/apphandler.cpp:154,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/apphandler.cpp:154,1
    - Dst: std::get<std::string>
      Src: /src/phosphor-host-ipmid/apphandler.cpp:156,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/apphandler.cpp:156,1
    - Dst: Version::convertVersionPurposeFromString
      Src: /src/phosphor-host-ipmid/apphandler.cpp:157,1
    - Dst: Activation::convertActivationsFromString
      Src: /src/phosphor-host-ipmid/apphandler.cpp:159,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/apphandler.cpp:166,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/apphandler.cpp:172,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/apphandler.cpp:179,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/apphandler.cpp:180,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - ipmi::Context::ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 184
    functionName: getActiveSoftwareVersionInfo
    functionSourceFile: /src/phosphor-host-ipmid/apphandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::getAllDbusObjects
    - ipmi::getManagedObjects
    - ipmi::getService
    - boost::system::error_code::message
    - std::get<uint8_t>
    - Version::convertVersionPurposeFromString
    - at
    - elog<InternalFailure>
    - Activation::convertActivationsFromString
    - std::move
    - lg2::error
    - std::get<std::string>
    linkageType: ''
    returnType: std::string
    signature: std::string getActiveSoftwareVersionInfo(ipmi::Context::ptr ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getDbusObject
      Src: /src/phosphor-host-ipmid/apphandler.cpp:192,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/apphandler.cpp:199,1
    - Dst: BMCState::convertBMCStateFromString
      Src: /src/phosphor-host-ipmid/apphandler.cpp:207,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - fallbackAvailability
    argTypes:
    - ipmi::Context::ptr
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 209
    functionName: getCurrentBmcStateWithFallback
    functionSourceFile: /src/phosphor-host-ipmid/apphandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::getDbusProperty
    - ipmi::getDbusObject
    - BMCState::convertBMCStateFromString
    linkageType: ''
    returnType: bool
    signature: "bool getCurrentBmcStateWithFallback(ipmi::Context::ptr ctx,\n                                    const
      bool fallbackAvailability)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/apphandler.cpp:268,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/apphandler.cpp:269,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/apphandler.cpp:271,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/apphandler.cpp:272,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/apphandler.cpp:273,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/apphandler.cpp:284,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/apphandler.cpp:285,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/apphandler.cpp:286,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 2
    argNames:
    - type
    - state
    argTypes:
    - acpi_state::PowerStateType
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 300
    functionName: acpi_state::isValidACPIState
    functionSourceFile: /src/phosphor-host-ipmid/apphandler.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    linkageType: ''
    returnType: bool
    signature: bool isValidACPIState(acpi_state::PowerStateType type, uint8_t state)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/apphandler.cpp:268,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/apphandler.cpp:269,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/apphandler.cpp:271,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/apphandler.cpp:272,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/apphandler.cpp:273,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/apphandler.cpp:284,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/apphandler.cpp:285,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/apphandler.cpp:286,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 2
    argNames:
    - type
    - state
    argTypes:
    - acpi_state::PowerStateType
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 300
    functionName: acpi_state::isValidACPIState
    functionSourceFile: /src/phosphor-host-ipmid/apphandler.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    linkageType: ''
    returnType: bool
    signature: bool isValidACPIState(acpi_state::PowerStateType type, uint8_t state)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/apphandler.cpp:312,1
    - Dst: acpi_state::isValidACPIState
      Src: /src/phosphor-host-ipmid/apphandler.cpp:321,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/apphandler.cpp:324,1
    - Dst: ipmi::responseParmOutOfRange
      Src: /src/phosphor-host-ipmid/apphandler.cpp:325,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/apphandler.cpp:329,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/apphandler.cpp:331,1
    - Dst: std::find_if
      Src: /src/phosphor-host-ipmid/apphandler.cpp:335,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/apphandler.cpp:336,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/apphandler.cpp:336,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/apphandler.cpp:338,1
    - Dst: ipmi::getDbusObject
      Src: /src/phosphor-host-ipmid/apphandler.cpp:344,1
    - Dst: ipmi::setDbusProperty
      Src: /src/phosphor-host-ipmid/apphandler.cpp:348,1
    - Dst: convertForMessage
      Src: /src/phosphor-host-ipmid/apphandler.cpp:351,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/apphandler.cpp:355,1
    - Dst: boost::system::error_code::message
      Src: /src/phosphor-host-ipmid/apphandler.cpp:356,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/apphandler.cpp:357,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/apphandler.cpp:363,1
    - Dst: acpi_state::isValidACPIState
      Src: /src/phosphor-host-ipmid/apphandler.cpp:370,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/apphandler.cpp:373,1
    - Dst: ipmi::responseParmOutOfRange
      Src: /src/phosphor-host-ipmid/apphandler.cpp:374,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/apphandler.cpp:378,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/apphandler.cpp:380,1
    - Dst: std::find_if
      Src: /src/phosphor-host-ipmid/apphandler.cpp:384,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/apphandler.cpp:385,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/apphandler.cpp:385,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/apphandler.cpp:387,1
    - Dst: ipmi::getDbusObject
      Src: /src/phosphor-host-ipmid/apphandler.cpp:393,1
    - Dst: ipmi::setDbusProperty
      Src: /src/phosphor-host-ipmid/apphandler.cpp:397,1
    - Dst: convertForMessage
      Src: /src/phosphor-host-ipmid/apphandler.cpp:400,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/apphandler.cpp:404,1
    - Dst: boost::system::error_code::message
      Src: /src/phosphor-host-ipmid/apphandler.cpp:405,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/apphandler.cpp:406,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/apphandler.cpp:412,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/apphandler.cpp:414,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 48
    argCount: 3
    argNames:
    - ctx
    - sysAcpiState
    - devAcpiState
    argTypes:
    - ipmi::Context::ptr
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 415
    functionName: ipmiSetAcpiPowerState
    functionSourceFile: /src/phosphor-host-ipmid/apphandler.cpp
    functionUses: 0
    functionsReached:
    - convertForMessage
    - ipmi::setDbusProperty
    - ipmi::responseSuccess
    - ipmi::responseUnspecifiedError
    - ipmi::responseParmOutOfRange
    - boost::system::error_code::message
    - acpi_state::isValidACPIState
    - static_cast<uint8_t>
    - end
    - begin
    - lg2::debug
    - std::find_if
    - ipmi::getDbusObject
    - lg2::error
    linkageType: ''
    returnType: ipmi::RspType<>
    signature: "ipmi::RspType<> ipmiSetAcpiPowerState(\n    ipmi::Context::ptr ctx,
      uint8_t sysAcpiState, uint8_t devAcpiState)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getDbusObject
      Src: /src/phosphor-host-ipmid/apphandler.cpp:430,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/apphandler.cpp:434,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/apphandler.cpp:438,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/apphandler.cpp:443,1
    - Dst: acpi_state::ACPIPowerState::convertACPIFromString
      Src: /src/phosphor-host-ipmid/apphandler.cpp:448,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/apphandler.cpp:449,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/apphandler.cpp:449,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/apphandler.cpp:451,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/apphandler.cpp:456,1
    - Dst: acpi_state::ACPIPowerState::convertACPIFromString
      Src: /src/phosphor-host-ipmid/apphandler.cpp:461,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/apphandler.cpp:462,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/apphandler.cpp:462,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/apphandler.cpp:464,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - ipmi::Context::ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 424
    functionDepth: 1
    functionLinenumber: 424
    functionLinenumberEnd: 465
    functionName: ipmiGetAcpiPowerState
    functionSourceFile: /src/phosphor-host-ipmid/apphandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::responseSuccess
    - ipmi::responseUnspecifiedError
    - acpi_state::ACPIPowerState::convertACPIFromString
    - static_cast<uint8_t>
    - ipmi::getDbusObject
    - at
    - ipmi::getDbusProperty
    linkageType: ''
    returnType: "ipmi::RspType<uint8_t, // acpiSystemPowerState\n              uint8_t
      \ // acpiDevicePowerState\n              >"
    signature: "ipmi::RspType<uint8_t, // acpiSystemPowerState\n              uint8_t
      \ // acpiDevicePowerState\n              > ipmiGetAcpiPowerState(ipmi::Context::ptr
      ctx)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: std::regex_search
      Src: /src/phosphor-host-ipmid/apphandler.cpp:519,1
    - Dst: std::smatch::size
      Src: /src/phosphor-host-ipmid/apphandler.cpp:521,1
    - Dst: std::max_element
      Src: /src/phosphor-host-ipmid/apphandler.cpp:521,1
    - Dst: std::vector::begin
      Src: /src/phosphor-host-ipmid/apphandler.cpp:521,1
    - Dst: std::vector::end
      Src: /src/phosphor-host-ipmid/apphandler.cpp:521,1
    - Dst: str
      Src: /src/phosphor-host-ipmid/apphandler.cpp:528,1
    - Dst: std::from_chars
      Src: /src/phosphor-host-ipmid/apphandler.cpp:530,1
    - Dst: std::string::data
      Src: /src/phosphor-host-ipmid/apphandler.cpp:530,1
    - Dst: std::string::data
      Src: /src/phosphor-host-ipmid/apphandler.cpp:530,1
    - Dst: std::string::size
      Src: /src/phosphor-host-ipmid/apphandler.cpp:530,1
    - Dst: std::errc
      Src: /src/phosphor-host-ipmid/apphandler.cpp:531,1
    - Dst: std::string::data
      Src: /src/phosphor-host-ipmid/apphandler.cpp:531,1
    - Dst: std::string::size
      Src: /src/phosphor-host-ipmid/apphandler.cpp:531,1
    - Dst: str
      Src: /src/phosphor-host-ipmid/apphandler.cpp:551,1
    - Dst: std::from_chars
      Src: /src/phosphor-host-ipmid/apphandler.cpp:553,1
    - Dst: std::string::data
      Src: /src/phosphor-host-ipmid/apphandler.cpp:553,1
    - Dst: std::string::data
      Src: /src/phosphor-host-ipmid/apphandler.cpp:553,1
    - Dst: std::string::size
      Src: /src/phosphor-host-ipmid/apphandler.cpp:553,1
    - Dst: std::errc
      Src: /src/phosphor-host-ipmid/apphandler.cpp:554,1
    - Dst: std::string::data
      Src: /src/phosphor-host-ipmid/apphandler.cpp:554,1
    - Dst: std::string::size
      Src: /src/phosphor-host-ipmid/apphandler.cpp:554,1
    - Dst: str
      Src: /src/phosphor-host-ipmid/apphandler.cpp:571,1
    - Dst: std::string::c_str
      Src: /src/phosphor-host-ipmid/apphandler.cpp:572,1
    - Dst: std::from_chars
      Src: /src/phosphor-host-ipmid/apphandler.cpp:574,1
    - Dst: std::string::size
      Src: /src/phosphor-host-ipmid/apphandler.cpp:574,1
    - Dst: std::errc
      Src: /src/phosphor-host-ipmid/apphandler.cpp:575,1
    - Dst: std::string::size
      Src: /src/phosphor-host-ipmid/apphandler.cpp:575,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 2
    argNames:
    - s
    - ' rev'
    argTypes:
    - std::string
    - Revision
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 595
    functionName: convertVersion
    functionSourceFile: /src/phosphor-host-ipmid/apphandler.cpp
    functionUses: 0
    functionsReached:
    - std::vector::begin
    - std::string::data
    - std::string::c_str
    - std::max_element
    - std::errc
    - std::regex_search
    - std::from_chars
    - str
    - std::vector::end
    - std::string::size
    - std::smatch::size
    linkageType: ''
    returnType: int
    signature: int convertVersion(std::string s, Revision& rev)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: getActiveSoftwareVersionInfo
      Src: /src/phosphor-host-ipmid/apphandler.cpp:648,1
    - Dst: convertVersion
      Src: /src/phosphor-host-ipmid/apphandler.cpp:649,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/apphandler.cpp:653,1
    - Dst: std::memcpy
      Src: /src/phosphor-host-ipmid/apphandler.cpp:668,1
    - Dst: std::ifstream::is_open
      Src: /src/phosphor-host-ipmid/apphandler.cpp:679,1
    - Dst: nlohmann::json::parse
      Src: /src/phosphor-host-ipmid/apphandler.cpp:681,1
    - Dst: auto::is_discarded
      Src: /src/phosphor-host-ipmid/apphandler.cpp:682,1
    - Dst: auto::value
      Src: /src/phosphor-host-ipmid/apphandler.cpp:684,1
    - Dst: auto::value
      Src: /src/phosphor-host-ipmid/apphandler.cpp:685,1
    - Dst: auto::value
      Src: /src/phosphor-host-ipmid/apphandler.cpp:686,1
    - Dst: auto::value
      Src: /src/phosphor-host-ipmid/apphandler.cpp:687,1
    - Dst: auto::value
      Src: /src/phosphor-host-ipmid/apphandler.cpp:688,1
    - Dst: auto::value
      Src: /src/phosphor-host-ipmid/apphandler.cpp:694,1
    - Dst: auto::contains
      Src: /src/phosphor-host-ipmid/apphandler.cpp:697,1
    - Dst: auto::at
      Src: /src/phosphor-host-ipmid/apphandler.cpp:699,1
    - Dst: contains
      Src: /src/phosphor-host-ipmid/apphandler.cpp:700,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/apphandler.cpp:702,1
    - Dst: contains
      Src: /src/phosphor-host-ipmid/apphandler.cpp:704,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/apphandler.cpp:706,1
    - Dst: auto::value
      Src: /src/phosphor-host-ipmid/apphandler.cpp:711,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/apphandler.cpp:718,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/apphandler.cpp:719,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/apphandler.cpp:724,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/apphandler.cpp:725,1
    - Dst: getCurrentBmcStateWithFallback
      Src: /src/phosphor-host-ipmid/apphandler.cpp:731,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/apphandler.cpp:736,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 52
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - ipmi::Context::ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 611
    functionDepth: 1
    functionLinenumber: 611
    functionLinenumberEnd: 739
    functionName: ipmiAppGetDeviceId
    functionSourceFile: /src/phosphor-host-ipmid/apphandler.cpp
    functionUses: 0
    functionsReached:
    - auto::is_discarded
    - auto::contains
    - std::ifstream::is_open
    - ipmi::responseUnspecifiedError
    - nlohmann::json::parse
    - auto::value
    - ipmi::responseSuccess
    - getActiveSoftwareVersionInfo
    - convertVersion
    - auto::at
    - contains
    - at
    - lg2::error
    - std::memcpy
    - getCurrentBmcStateWithFallback
    linkageType: ''
    returnType: "ipmi::RspType<uint8_t,  // Device ID\n              uint8_t,  //
      Device Revision\n              uint8_t,  // Firmware Revision Major\n              uint8_t,
      \ // Firmware Revision minor\n              uint8_t,  // IPMI version\n              uint8_t,
      \ // Additional device support\n              uint24_t, // MFG ID\n              uint16_t,
      // Product ID\n              uint32_t  // AUX info\n              >"
    signature: "ipmi::RspType<uint8_t,  // Device ID\n              uint8_t,  // Device
      Revision\n              uint8_t,  // Firmware Revision Major\n              uint8_t,
      \ // Firmware Revision minor\n              uint8_t,  // IPMI version\n              uint8_t,
      \ // Additional device support\n              uint24_t, // MFG ID\n              uint16_t,
      // Product ID\n              uint32_t  // AUX info\n              > ipmiAppGetDeviceId(ipmi::Context::ptr
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/apphandler.cpp:765,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 741
    functionDepth: 1
    functionLinenumber: 741
    functionLinenumberEnd: 766
    functionName: ipmiAppGetSelfTestResults
    functionSourceFile: /src/phosphor-host-ipmid/apphandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::responseSuccess
    linkageType: ''
    returnType: auto
    signature: auto ipmiAppGetSelfTestResults() -> ipmi::RspType<uint8_t, uint8_t>
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::string::size
      Src: /src/phosphor-host-ipmid/apphandler.cpp:779,1
    - Dst: std::string::erase
      Src: /src/phosphor-host-ipmid/apphandler.cpp:781,1
    - Dst: std::remove
      Src: /src/phosphor-host-ipmid/apphandler.cpp:781,1
    - Dst: std::string::begin
      Src: /src/phosphor-host-ipmid/apphandler.cpp:781,1
    - Dst: std::string::end
      Src: /src/phosphor-host-ipmid/apphandler.cpp:781,1
    - Dst: std::string::end
      Src: /src/phosphor-host-ipmid/apphandler.cpp:782,1
    - Dst: std::string::size
      Src: /src/phosphor-host-ipmid/apphandler.cpp:784,1
    - Dst: elog<InvalidArgument>
      Src: /src/phosphor-host-ipmid/apphandler.cpp:786,1
    - Dst: Argument::ARGUMENT_NAME
      Src: /src/phosphor-host-ipmid/apphandler.cpp:786,1
    - Dst: Argument::ARGUMENT_VALUE
      Src: /src/phosphor-host-ipmid/apphandler.cpp:787,1
    - Dst: std::string::c_str
      Src: /src/phosphor-host-ipmid/apphandler.cpp:787,1
    - Dst: std::stoul
      Src: /src/phosphor-host-ipmid/apphandler.cpp:799,1
    - Dst: elog<InvalidArgument>
      Src: /src/phosphor-host-ipmid/apphandler.cpp:803,1
    - Dst: Argument::ARGUMENT_NAME
      Src: /src/phosphor-host-ipmid/apphandler.cpp:803,1
    - Dst: Argument::ARGUMENT_VALUE
      Src: /src/phosphor-host-ipmid/apphandler.cpp:804,1
    - Dst: std::string::c_str
      Src: /src/phosphor-host-ipmid/apphandler.cpp:804,1
    - Dst: elog<InvalidArgument>
      Src: /src/phosphor-host-ipmid/apphandler.cpp:809,1
    - Dst: Argument::ARGUMENT_NAME
      Src: /src/phosphor-host-ipmid/apphandler.cpp:809,1
    - Dst: Argument::ARGUMENT_VALUE
      Src: /src/phosphor-host-ipmid/apphandler.cpp:810,1
    - Dst: std::string::c_str
      Src: /src/phosphor-host-ipmid/apphandler.cpp:810,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/apphandler.cpp:812,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - rfc4122
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 815
      start: 769
    functionDepth: 0
    functionLinenumber: 769
    functionLinenumberEnd: 815
    functionName: rfc4122ToIpmi
    functionSourceFile: /src/phosphor-host-ipmid/apphandler.cpp
    functionUses: 0
    functionsReached:
    - Argument::ARGUMENT_VALUE
    - std::remove
    - std::string::c_str
    - std::string::erase
    - Argument::ARGUMENT_NAME
    - std::string::end
    - std::string::begin
    - static_cast<uint8_t>
    - std::stoul
    - elog<InvalidArgument>
    - std::string::size
    linkageType: ''
    returnType: std::array<uint8_t, uuidBinaryLength>
    signature: std::array<uint8_t, uuidBinaryLength> rfc4122ToIpmi(std::string rfc4122)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SD_ID128_MAKE
      Src: /src/phosphor-host-ipmid/apphandler.cpp:825,1
    - Dst: sd_id128_get_machine_app_specific
      Src: /src/phosphor-host-ipmid/apphandler.cpp:830,1
    - Dst: sd_id128_to_string
      Src: /src/phosphor-host-ipmid/apphandler.cpp:833,1
    - Dst: rfc4122ToIpmi
      Src: /src/phosphor-host-ipmid/apphandler.cpp:835,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/apphandler.cpp:836,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 837
      start: 817
    functionDepth: 1
    functionLinenumber: 817
    functionLinenumberEnd: 837
    functionName: ipmiAppGetDeviceGuid
    functionSourceFile: /src/phosphor-host-ipmid/apphandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::responseSuccess
    - rfc4122ToIpmi
    - sd_id128_get_machine_app_specific
    - sd_id128_to_string
    - SD_ID128_MAKE
    linkageType: ''
    returnType: auto
    signature: "auto ipmiAppGetDeviceGuid()\n    -> ipmi::RspType<std::array<uint8_t,
      uuidBinaryLength>>"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/apphandler.cpp:850,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 839
    functionDepth: 1
    functionLinenumber: 839
    functionLinenumberEnd: 852
    functionName: ipmiAppGetBtCapabilities
    functionSourceFile: /src/phosphor-host-ipmid/apphandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::responseSuccess
    linkageType: ''
    returnType: auto
    signature: "auto ipmiAppGetBtCapabilities()\n    -> ipmi::RspType<uint8_t, uint8_t,
      uint8_t, uint8_t, uint8_t>"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/apphandler.cpp:865,1
    - Dst: boost::system::error_code::value
      Src: /src/phosphor-host-ipmid/apphandler.cpp:867,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/apphandler.cpp:869,1
    - Dst: boost::system::error_code::message
      Src: /src/phosphor-host-ipmid/apphandler.cpp:873,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/apphandler.cpp:874,1
    - Dst: rfc4122ToIpmi
      Src: /src/phosphor-host-ipmid/apphandler.cpp:880,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/apphandler.cpp:884,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/apphandler.cpp:889,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/apphandler.cpp:891,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ' ctx'
    argTypes:
    - ipmi::Context::ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 892
      start: 854
    functionDepth: 1
    functionLinenumber: 854
    functionLinenumberEnd: 892
    functionName: ipmiAppGetSystemGuid
    functionSourceFile: /src/phosphor-host-ipmid/apphandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::responseSuccess
    - ipmi::responseUnspecifiedError
    - rfc4122ToIpmi
    - boost::system::error_code::message
    - boost::system::error_code::value
    - ipmi::getDbusProperty
    - lg2::error
    linkageType: ''
    returnType: auto
    signature: "auto ipmiAppGetSystemGuid(ipmi::Context::ptr& ctx)\n    -> ipmi::RspType<std::array<uint8_t,
      16>>"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/apphandler.cpp:911,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/apphandler.cpp:915,1
    - Dst: boost::system::error_code::message
      Src: /src/phosphor-host-ipmid/apphandler.cpp:919,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/apphandler.cpp:923,1
    - Dst: ipmi::setDbusProperty
      Src: /src/phosphor-host-ipmid/apphandler.cpp:925,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/apphandler.cpp:927,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - ctx
    - ' service'
    - ' obj'
    argTypes:
    - ipmi::Context::ptr
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 935
      start: 907
    functionDepth: 0
    functionLinenumber: 907
    functionLinenumberEnd: 935
    functionName: setSessionState
    functionSourceFile: /src/phosphor-host-ipmid/apphandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::setDbusProperty
    - boost::system::error_code::message
    - static_cast<uint8_t>
    - ipmi::getDbusProperty
    - lg2::error
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t setSessionState(ipmi::Context::ptr ctx, const std::string&
      service,\n                        const std::string& obj)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::optional<uint8_t>::value_or
      Src: /src/phosphor-host-ipmid/apphandler.cpp:942,1
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/apphandler.cpp:947,1
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/apphandler.cpp:953,1
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/apphandler.cpp:959,1
    - Dst: ipmi::getAllDbusObjects
      Src: /src/phosphor-host-ipmid/apphandler.cpp:963,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/apphandler.cpp:967,1
    - Dst: boost::system::error_code::message
      Src: /src/phosphor-host-ipmid/apphandler.cpp:969,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/apphandler.cpp:970,1
    - Dst: isSessionObjectMatched
      Src: /src/phosphor-host-ipmid/apphandler.cpp:975,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/apphandler.cpp:982,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/apphandler.cpp:984,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/apphandler.cpp:987,1
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/apphandler.cpp:989,1
    - Dst: setSessionState
      Src: /src/phosphor-host-ipmid/apphandler.cpp:989,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/apphandler.cpp:993,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 3
    argNames:
    - ctx
    - reqSessionId
    - requestSessionHandle
    argTypes:
    - ipmi::Context::ptr
    - uint32_t
    - std::optional<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 994
      start: 937
    functionDepth: 1
    functionLinenumber: 937
    functionLinenumberEnd: 994
    functionName: ipmiAppCloseSession
    functionSourceFile: /src/phosphor-host-ipmid/apphandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::getAllDbusObjects
    - ipmi::responseUnspecifiedError
    - boost::system::error_code::message
    - lg2::error
    - size
    - std::optional<uint8_t>::value_or
    - isSessionObjectMatched
    - ipmi::responseInvalidFieldRequest
    - begin
    - setSessionState
    - ipmi::response
    linkageType: ''
    returnType: ipmi::RspType<>
    signature: "ipmi::RspType<> ipmiAppCloseSession(ipmi::Context::ptr ctx,\n                                    uint32_t
      reqSessionId,\n                                    std::optional<uint8_t> requestSessionHandle)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getChannelInfo
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1004,1
    - Dst: static_cast<ipmi::EChannelMediumType>
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1005,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1013
      start: 996
    functionDepth: 1
    functionLinenumber: 996
    functionLinenumberEnd: 1013
    functionName: getTotalSessionCount
    functionSourceFile: /src/phosphor-host-ipmid/apphandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::getChannelInfo
    - static_cast<ipmi::EChannelMediumType>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t getTotalSessionCount()
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getChannelInfo
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1046,1
    - Dst: static_cast<ipmi::EChannelMediumType>
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1048,1
    - Dst: fullyUnpacked
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1054,1
    - Dst: unpack
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1068,1
    - Dst: fullyUnpacked
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1069,1
    - Dst: unpack
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1084,1
    - Dst: fullyUnpacked
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1084,1
    - Dst: fullyUnpacked
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1096,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 41
    argCount: 5
    argNames:
    - ctx
    - sessionIndex
    - ' payload'
    - ' reqSessionId'
    - ' reqSessionHandle'
    argTypes:
    - ipmi::Context::ptr
    - uint8_t
    - ipmi::message::Payload
    - uint32_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 1030
    functionDepth: 1
    functionLinenumber: 1030
    functionLinenumberEnd: 1103
    functionName: getSessionInfoRequestData
    functionSourceFile: /src/phosphor-host-ipmid/apphandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::getChannelInfo
    - fullyUnpacked
    - static_cast<ipmi::EChannelMediumType>
    - unpack
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t getSessionInfoRequestData(\n    const ipmi::Context::ptr ctx,
      const uint8_t sessionIndex,\n    ipmi::message::Payload& payload, uint32_t&
      reqSessionId,\n    uint8_t& reqSessionHandle)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1108,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1112,1
    - Dst: boost::system::error_code::message
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - ctx
    - ' service'
    - ' objPath'
    - ' sessionState'
    argTypes:
    - ipmi::Context::ptr
    - std::string
    - std::string
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1120
      start: 1105
    functionDepth: 0
    functionLinenumber: 1105
    functionLinenumberEnd: 1120
    functionName: getSessionState
    functionSourceFile: /src/phosphor-host-ipmid/apphandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::getDbusProperty
    - boost::system::error_code::message
    - lg2::error
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t getSessionState(ipmi::Context::ptr ctx, const std::string&
      service,\n                        const std::string& objPath, uint8_t& sessionState)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getAllDbusProperties
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1156,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1161,1
    - Dst: boost::system::error_code::message
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1165,1
    - Dst: ipmi::mappedVariant<uint8_t>
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1169,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1170,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1171,1
    - Dst: ipmi::mappedVariant<uint8_t>
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1174,1
    - Dst: std::get<0>
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1175,1
    - Dst: ipmi::mappedVariant<uint8_t>
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1176,1
    - Dst: std::get<2>
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1178,1
    - Dst: ipmi::mappedVariant<uint8_t>
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1179,1
    - Dst: std::get<4>
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1181,1
    - Dst: ipmi::mappedVariant<uint8_t>
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1182,1
    - Dst: std::get<5>
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1184,1
    - Dst: std::get<6>
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1185,1
    - Dst: ipmi::mappedVariant<uint32_t>
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1186,1
    - Dst: std::get<8>
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1188,1
    - Dst: ipmi::mappedVariant<uint16_t>
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1189,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 6
    argNames:
    - ctx
    - ' service'
    - ' objPath'
    - ' sessionHandle'
    - ' sessionState'
    - ' details'
    argTypes:
    - ipmi::Context::ptr
    - std::string
    - std::string
    - uint8_t
    - uint8_t
    - SessionDetails
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1193
      start: 1151
    functionDepth: 1
    functionLinenumber: 1151
    functionLinenumberEnd: 1193
    functionName: getSessionDetails
    functionSourceFile: /src/phosphor-host-ipmid/apphandler.cpp
    functionUses: 0
    functionsReached:
    - std::get<8>
    - ipmi::mappedVariant<uint32_t>
    - ipmi::getAllDbusProperties
    - boost::system::error_code::message
    - std::get<0>
    - std::get<4>
    - std::get<2>
    - std::get<5>
    - static_cast<uint8_t>
    - std::get<6>
    - ipmi::mappedVariant<uint16_t>
    - ipmi::mappedVariant<uint8_t>
    - lg2::error
    linkageType: ''
    returnType: ipmi::Cc
    signature: "ipmi::Cc getSessionDetails(ipmi::Context::ptr ctx, const std::string&
      service,\n                           const std::string& objPath, uint8_t& sessionHandle,\n
      \                          uint8_t& sessionState, SessionDetails& details)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: getSessionInfoRequestData
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1207,1
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1212,1
    - Dst: ipmi::getAllDbusObjects
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1215,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1219,1
    - Dst: boost::system::error_code::message
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1221,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1222,1
    - Dst: getTotalSessionCount
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1225,1
    - Dst: parseCloseSessionInputPayload
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1236,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1243,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1245,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1247,1
    - Dst: getSessionState
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1253,1
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1256,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1259,1
    - Dst: getSessionDetails
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1268,1
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1273,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1276,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1280,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1281,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1283,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1287,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 3
    argNames:
    - ctx
    - sessionIndex
    - ' payload'
    argTypes:
    - ipmi::Context::ptr
    - uint8_t
    - ipmi::message::Payload
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1288
      start: 1195
    functionDepth: 2
    functionLinenumber: 1195
    functionLinenumberEnd: 1288
    functionName: ipmiAppGetSessionInfo
    functionSourceFile: /src/phosphor-host-ipmid/apphandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::getAllDbusObjects
    - ipmi::responseUnspecifiedError
    - ipmi::responseSuccess
    - boost::system::error_code::message
    - getSessionState
    - lg2::error
    - size
    - parseCloseSessionInputPayload
    - static_cast<uint8_t>
    - getTotalSessionCount
    - ipmi::responseInvalidFieldRequest
    - getSessionInfoRequestData
    - begin
    - std::move
    - ipmi::response
    - getSessionDetails
    linkageType: ''
    returnType: "ipmi::RspType<uint8_t, // session handle,\n              uint8_t,
      // total session count\n              uint8_t, // active session count\n              std::optional<SessionDetails>>"
    signature: "ipmi::RspType<uint8_t, // session handle,\n              uint8_t,
      // total session count\n              uint8_t, // active session count\n              std::optional<SessionDetails>>
      ipmiAppGetSessionInfo(ipmi::Context::ptr ctx, uint8_t sessionIndex,\n                          ipmi::message::Payload&
      payload)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getAllDbusObjects
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1301,1
    - Dst: boost::system::error_code::value
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1302,1
    - Dst: ipmi::getAllDbusProperties
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1312,1
    - Dst: boost::system::error_code::value
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1314,1
    - Dst: std::string
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1319,1
    - Dst: ipmi::mappedVariant<std::string>
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1320,1
    - Dst: std::string::ends_with
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1322,1
    - Dst: std::string
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1327,1
    - Dst: ipmi::mappedVariant<std::string>
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1328,1
    - Dst: std::string::empty
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1330,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 1
    argNames:
    - ' ctx'
    argTypes:
    - ipmi::Context::ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1340
      start: 1290
    functionDepth: 1
    functionLinenumber: 1290
    functionLinenumberEnd: 1340
    functionName: getSysFWVersion
    functionSourceFile: /src/phosphor-host-ipmid/apphandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::mappedVariant<std::string>
    - ipmi::getAllDbusObjects
    - ipmi::getAllDbusProperties
    - std::string
    - std::string::ends_with
    - boost::system::error_code::value
    - std::string::empty
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> getSysFWVersion(ipmi::Context::ptr& ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gethostname
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1348,1
    - Dst: perror
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1350,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1353
      start: 1344
    functionDepth: 0
    functionLinenumber: 1344
    functionLinenumberEnd: 1353
    functionName: sysInfoReadSystemName
    functionSourceFile: /src/phosphor-host-ipmid/apphandler.cpp
    functionUses: 0
    functionsReached:
    - gethostname
    - perror
    linkageType: ''
    returnType: std::string
    signature: std::string sysInfoReadSystemName()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1377
      start: 1374
    functionDepth: 1
    functionLinenumber: 1374
    functionLinenumberEnd: 1377
    functionName: ipmi::responseParmNotSupported
    functionSourceFile: /src/phosphor-host-ipmid/apphandler.cpp
    functionUses: 2
    functionsReached:
    - ipmi::response
    linkageType: ''
    returnType: auto
    signature: auto responseParmNotSupported()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1381
      start: 1378
    functionDepth: 1
    functionLinenumber: 1378
    functionLinenumberEnd: 1381
    functionName: ipmi::responseSetInProgressActive
    functionSourceFile: /src/phosphor-host-ipmid/apphandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::response
    linkageType: ''
    returnType: auto
    signature: auto responseSetInProgressActive()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1377
      start: 1374
    functionDepth: 1
    functionLinenumber: 1374
    functionLinenumberEnd: 1377
    functionName: ipmi::responseParmNotSupported
    functionSourceFile: /src/phosphor-host-ipmid/apphandler.cpp
    functionUses: 2
    functionsReached:
    - ipmi::response
    linkageType: ''
    returnType: auto
    signature: auto responseParmNotSupported()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1381
      start: 1378
    functionDepth: 1
    functionLinenumber: 1378
    functionLinenumberEnd: 1381
    functionName: ipmi::responseSetInProgressActive
    functionSourceFile: /src/phosphor-host-ipmid/apphandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::response
    linkageType: ''
    returnType: auto
    signature: auto responseSetInProgressActive()
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1394,1
    - Dst: ipmi::responseParmNotSupported
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1398,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1402,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1407,1
    - Dst: ipmi::responseParmNotSupported
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1413,1
    - Dst: std::make_unique<SysInfoParamStore>
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1418,1
    - Dst: update
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1419,1
    - Dst: lookup
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1427,1
    - Dst: empty
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1429,1
    - Dst: getSysFWVersion
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1431,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1434,1
    - Dst: update
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1436,1
    - Dst: lookup
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1443,1
    - Dst: std::get<0>
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1444,1
    - Dst: ipmi::responseSensorInvalid
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1447,1
    - Dst: std::get<1>
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1449,1
    - Dst: std::vector::emplace_back
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1454,1
    - Dst: std::vector::emplace_back
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1455,1
    - Dst: length
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1455,1
    - Dst: std::min
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1456,1
    - Dst: length
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1456,1
    - Dst: std::vector::resize
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1457,1
    - Dst: std::copy_n
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1458,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1458,1
    - Dst: std::vector::begin
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1459,1
    - Dst: std::vector::size
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1462,1
    - Dst: std::fill_n
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1464,1
    - Dst: std::back_inserter
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1464,1
    - Dst: std::vector::size
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1465,1
    - Dst: length
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1471,1
    - Dst: ipmi::responseParmOutOfRange
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1473,1
    - Dst: std::min
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1475,1
    - Dst: length
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1475,1
    - Dst: std::vector::resize
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1476,1
    - Dst: std::copy_n
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1477,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1477,1
    - Dst: std::vector::begin
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1478,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1480,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 49
    argCount: 6
    argNames:
    - ctx
    - reserved
    - getRevision
    - paramSelector
    - setSelector
    - BlockSelector
    argTypes:
    - ipmi::Context::ptr
    - uint7_t
    - bool
    - uint8_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1481
      start: 1384
    functionDepth: 2
    functionLinenumber: 1384
    functionLinenumberEnd: 1481
    functionName: ipmiAppGetSystemInfo
    functionSourceFile: /src/phosphor-host-ipmid/apphandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::responseSuccess
    - ipmi::responseUnspecifiedError
    - ipmi::responseParmOutOfRange
    - update
    - length
    - begin
    - std::vector::resize
    - std::vector::emplace_back
    - ipmi::responseParmNotSupported
    - std::copy_n
    - std::vector::begin
    - std::min
    - getSysFWVersion
    - std::get<1>
    - std::fill_n
    - lookup
    - ipmi::responseInvalidFieldRequest
    - empty
    - std::make_unique<SysInfoParamStore>
    - std::vector::size
    - std::get<0>
    - std::back_inserter
    - ipmi::responseSensorInvalid
    linkageType: ''
    returnType: "ipmi::RspType<uint8_t,                // Parameter revision\n              std::optional<uint8_t>,
      // data1 / setSelector / ProgressStatus\n              std::optional<std::vector<uint8_t>>>"
    signature: "ipmi::RspType<uint8_t,                // Parameter revision\n              std::optional<uint8_t>,
      // data1 / setSelector / ProgressStatus\n              std::optional<std::vector<uint8_t>>>
      ipmiAppGetSystemInfo(ipmi::Context::ptr ctx, uint7_t reserved,\n                         bool
      getRevision, uint8_t paramSelector,\n                         uint8_t setSelector,
      uint8_t BlockSelector)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1489,1
    - Dst: ipmi::responseParmNotSupported
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1493,1
    - Dst: ipmi::responseSetInProgressActive
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1502,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1507,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1508,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1512,1
    - Dst: std::vector<uint8_t>::size
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1515,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1517,1
    - Dst: std::vector<uint8_t>::size
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1521,1
    - Dst: fill_n
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1523,1
    - Dst: back_inserter
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1523,1
    - Dst: std::vector<uint8_t>::size
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1524,1
    - Dst: std::make_unique<SysInfoParamStore>
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1529,1
    - Dst: update
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1530,1
    - Dst: lookup
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1536,1
    - Dst: std::get<0>
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1537,1
    - Dst: std::get<1>
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1538,1
    - Dst: std::vector<uint8_t>::at
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1549,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1552,1
    - Dst: std::vector<uint8_t>::at
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1555,1
    - Dst: std::min
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1556,1
    - Dst: std::min
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1557,1
    - Dst: std::vector<uint8_t>::size
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1557,1
    - Dst: resize
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1558,1
    - Dst: std::copy_n
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1559,1
    - Dst: std::vector<uint8_t>::begin
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1559,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1560,1
    - Dst: length
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1565,1
    - Dst: ipmi::responseParmOutOfRange
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1567,1
    - Dst: std::min
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1569,1
    - Dst: length
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1569,1
    - Dst: std::vector<uint8_t>::size
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1569,1
    - Dst: std::copy_n
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1570,1
    - Dst: std::vector<uint8_t>::begin
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1570,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1570,1
    - Dst: update
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1572,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1573,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 48
    argCount: 3
    argNames:
    - paramSelector
    - data1
    - configData
    argTypes:
    - uint8_t
    - uint8_t
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1574
      start: 1483
    functionDepth: 2
    functionLinenumber: 1483
    functionLinenumberEnd: 1574
    functionName: ipmiAppSetSystemInfo
    functionSourceFile: /src/phosphor-host-ipmid/apphandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::responseSuccess
    - ipmi::responseParmOutOfRange
    - update
    - length
    - resize
    - begin
    - ipmi::responseParmNotSupported
    - std::copy_n
    - ipmi::responseSetInProgressActive
    - std::min
    - std::vector<uint8_t>::size
    - std::get<1>
    - std::vector<uint8_t>::begin
    - back_inserter
    - std::vector<uint8_t>::at
    - lookup
    - ipmi::responseInvalidFieldRequest
    - std::make_unique<SysInfoParamStore>
    - lg2::error
    - fill_n
    - std::get<0>
    linkageType: ''
    returnType: ipmi::RspType<>
    signature: "ipmi::RspType<> ipmiAppSetSystemInfo(uint8_t paramSelector, uint8_t
      data1,\n                                     std::vector<uint8_t> configData)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::getline
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1582,1
    - Dst: std::vector::emplace_back
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1584,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1585,1
    - Dst: std::stoul
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1585,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' command'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1588
      start: 1577
    functionDepth: 0
    functionLinenumber: 1577
    functionLinenumberEnd: 1588
    functionName: convertStringToData
    functionSourceFile: /src/phosphor-host-ipmid/apphandler.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - std::vector::emplace_back
    - std::getline
    - std::stoul
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> convertStringToData(const std::string& command)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::ifstream::good
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1595,1
    - Dst: lg2::warning
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1597,1
    - Dst: nlohmann::json::parse
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1604,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1608,1
    - Dst: get
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1637,1
    - Dst: getWRAllowlist
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1638,1
    - Dst: nlohmann::json::items
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1639,1
    - Dst: value
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1641,1
    - Dst: nlohmann::json::is_null
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1642,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1644,1
    - Dst: convertStringToData
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1651,1
    - Dst: get
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1651,1
    - Dst: convertStringToData
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1653,1
    - Dst: get
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1653,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1654,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1654,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1656,1
    - Dst: push_back
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1660,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1661,1
    - Dst: std::stoul
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1661,1
    - Dst: get
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1662,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1663,1
    - Dst: std::stoul
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1664,1
    - Dst: get
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1664,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1666,1
    - Dst: std::stoul
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1667,1
    - Dst: get
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1667,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1671,1
    - Dst: nlohmann::json::size
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1671,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1673,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1680,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1686
      start: 1590
    functionDepth: 1
    functionLinenumber: 1590
    functionLinenumberEnd: 1686
    functionName: populateI2CControllerWRAllowlist
    functionSourceFile: /src/phosphor-host-ipmid/apphandler.cpp
    functionUses: 0
    functionsReached:
    - std::ifstream::good
    - getWRAllowlist
    - nlohmann::json::is_null
    - convertStringToData
    - lg2::warning
    - nlohmann::json::parse
    - nlohmann::json::items
    - nlohmann::json::size
    - value
    - size
    - static_cast<uint8_t>
    - std::stoul
    - get
    - push_back
    - lg2::error
    linkageType: ''
    returnType: bool
    signature: bool populateI2CControllerWRAllowlist()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1692,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1693,1
    - Dst: std::transform
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1694,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1694,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1694,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1694,1
    - Dst: std::vector::begin
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1695,1
    - Dst: std::bit_or<uint8_t>
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1695,1
    - Dst: std::transform
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1696,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1696,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1696,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1696,1
    - Dst: std::vector::begin
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1697,1
    - Dst: std::bit_or<uint8_t>
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1697,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' data'
    - ' dataMask'
    - ' writeData'
    argTypes:
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1700
      start: 1688
    functionDepth: 0
    functionLinenumber: 1688
    functionLinenumberEnd: 1700
    functionName: isWriteDataAllowlisted
    functionSourceFile: /src/phosphor-host-ipmid/apphandler.cpp
    functionUses: 0
    functionsReached:
    - std::bit_or<uint8_t>
    - std::vector::begin
    - size
    - end
    - begin
    - std::transform
    linkageType: ''
    returnType: bool
    signature: "bool isWriteDataAllowlisted(const std::vector<uint8_t>& data,\n                                          const
      std::vector<uint8_t>& dataMask,\n                                          const
      std::vector<uint8_t>& writeData)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getWRAllowlist
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1705,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1715,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1715,1
    - Dst: isWriteDataAllowlisted
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1719,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - busId
    - targetAddr
    - ' writeData'
    argTypes:
    - uint8_t
    - uint8_t
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1726
      start: 1702
    functionDepth: 1
    functionLinenumber: 1702
    functionLinenumberEnd: 1726
    functionName: isCmdAllowlisted
    functionSourceFile: /src/phosphor-host-ipmid/apphandler.cpp
    functionUses: 0
    functionsReached:
    - isWriteDataAllowlisted
    - size
    - getWRAllowlist
    linkageType: ''
    returnType: bool
    signature: "bool isCmdAllowlisted(uint8_t busId, uint8_t targetAddr,\n                             std::vector<uint8_t>&
      writeData)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lg2::info
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1730,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1732
      start: 1728
    functionDepth: 0
    functionLinenumber: 1728
    functionLinenumberEnd: 1732
    functionName: populateI2CControllerWRAllowlist
    functionSourceFile: /src/phosphor-host-ipmid/apphandler.cpp
    functionUses: 0
    functionsReached:
    - lg2::info
    linkageType: ''
    returnType: bool
    signature: bool populateI2CControllerWRAllowlist()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1755,1
    - Dst: std::vector<uint8_t>::size
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1757,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1760,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1761,1
    - Dst: isCmdAllowlisted
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1764,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1764,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1765,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1767,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1769,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1770,1
    - Dst: ipmi::responseCommandDisabled
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1771,1
    - Dst: std::to_string
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1776,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1776,1
    - Dst: ipmi::i2cWriteRead
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1778,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1778,1
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1782,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1784,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 7
    argNames:
    - isPrivateBus
    - busId
    - channelNum
    - reserved
    - targetAddr
    - readCount
    - writeData
    argTypes:
    - bool
    - uint3_t
    - uint4_t
    - bool
    - uint7_t
    - uint8_t
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1785
      start: 1748
    functionDepth: 2
    functionLinenumber: 1748
    functionLinenumberEnd: 1785
    functionName: ipmiControllerWriteRead
    functionSourceFile: /src/phosphor-host-ipmid/apphandler.cpp
    functionUses: 0
    functionsReached:
    - isCmdAllowlisted
    - ipmi::i2cWriteRead
    - ipmi::responseSuccess
    - std::to_string
    - ipmi::responseCommandDisabled
    - static_cast<uint8_t>
    - ipmi::responseInvalidFieldRequest
    - ipmi::response
    - std::vector<uint8_t>::size
    - lg2::error
    linkageType: ''
    returnType: ipmi::RspType<std::vector<uint8_t>>
    signature: "ipmi::RspType<std::vector<uint8_t>> ipmiControllerWriteRead(\n    [[maybe_unused]]
      bool isPrivateBus, uint3_t busId,\n    [[maybe_unused]] uint4_t channelNum,
      bool reserved, uint7_t targetAddr,\n    uint8_t readCount, std::vector<uint8_t>
      writeData)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1790,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1795,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1800,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1804,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1809,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1813,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1818,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1823,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1828,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1833,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1837,1
    - Dst: populateI2CControllerWRAllowlist
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1843,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1848,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1854,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1859,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1864,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/apphandler.cpp:1868,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1872
      start: 1787
    functionDepth: 2
    functionLinenumber: 1787
    functionLinenumberEnd: 1872
    functionName: registerNetFnAppFunctions
    functionSourceFile: /src/phosphor-host-ipmid/apphandler.cpp
    functionUses: 0
    functionsReached:
    - populateI2CControllerWRAllowlist
    - ipmi::registerHandler
    linkageType: ''
    returnType: void
    signature: void registerNetFnAppFunctions()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    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: what
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * what() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - SensorDataRecordKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 156
    functionName: get_sdr::key::setOwnerIdIpmb
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setOwnerIdIpmb(SensorDataRecordKey& key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - SensorDataRecordKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 161
    functionName: get_sdr::key::setOwnerIdSystemSw
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setOwnerIdSystemSw(SensorDataRecordKey& key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - SensorDataRecordKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: get_sdr::key::setOwnerIdBmc
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setOwnerIdBmc(SensorDataRecordKey& key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - addr
    - ' key'
    argTypes:
    - uint8_t
    - SensorDataRecordKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 172
    functionName: get_sdr::key::setOwnerIdAddress
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setOwnerIdAddress(uint8_t addr, SensorDataRecordKey& key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - lun
    - ' key'
    argTypes:
    - uint8_t
    - SensorDataRecordKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 178
    functionName: get_sdr::key::setOwnerLun
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setOwnerLun(uint8_t lun, SensorDataRecordKey& key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - channel
    - ' key'
    argTypes:
    - uint8_t
    - SensorDataRecordKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 184
    functionName: get_sdr::key::setOwnerLunChannel
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setOwnerLunChannel(uint8_t channel, SensorDataRecordKey& key)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - isList
    - isLinked
    - ' key'
    argTypes:
    - bool
    - bool
    - SensorDataEntityRecordKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 198
    functionName: get_sdr::key::setFlags
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setFlags(bool isList, bool isLinked, SensorDataEntityRecordKey&
      key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - SensorDataRecordKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 156
    functionName: get_sdr::key::setOwnerIdIpmb
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setOwnerIdIpmb(SensorDataRecordKey& key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - SensorDataRecordKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 161
    functionName: get_sdr::key::setOwnerIdSystemSw
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setOwnerIdSystemSw(SensorDataRecordKey& key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - SensorDataRecordKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: get_sdr::key::setOwnerIdBmc
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setOwnerIdBmc(SensorDataRecordKey& key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - addr
    - ' key'
    argTypes:
    - uint8_t
    - SensorDataRecordKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 172
    functionName: get_sdr::key::setOwnerIdAddress
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setOwnerIdAddress(uint8_t addr, SensorDataRecordKey& key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - lun
    - ' key'
    argTypes:
    - uint8_t
    - SensorDataRecordKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 178
    functionName: get_sdr::key::setOwnerLun
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setOwnerLun(uint8_t lun, SensorDataRecordKey& key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - channel
    - ' key'
    argTypes:
    - uint8_t
    - SensorDataRecordKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 184
    functionName: get_sdr::key::setOwnerLunChannel
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setOwnerLunChannel(uint8_t channel, SensorDataRecordKey& key)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - isList
    - isLinked
    - ' key'
    argTypes:
    - bool
    - bool
    - SensorDataEntityRecordKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 198
    functionName: get_sdr::key::setFlags
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setFlags(bool isList, bool isLinked, SensorDataEntityRecordKey&
      key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - n
    - ' body'
    argTypes:
    - uint8_t
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 345
    functionName: get_sdr::body::setEntityInstanceNumber
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setEntityInstanceNumber(uint8_t n, SensorDataFullRecordBody& body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' body'
    argTypes:
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 350
    functionName: get_sdr::body::setEntityPhysicalEntity
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setEntityPhysicalEntity(SensorDataFullRecordBody& body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' body'
    argTypes:
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 355
    functionName: get_sdr::body::setEntityLogicalContainer
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setEntityLogicalContainer(SensorDataFullRecordBody& body)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - enabled
    - ' body'
    argTypes:
    - bool
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 367
    functionName: get_sdr::body::sensorScanningState
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void sensorScanningState(bool enabled, SensorDataFullRecordBody& body)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - enabled
    - ' body'
    argTypes:
    - bool
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 379
    functionName: get_sdr::body::eventGenerationState
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void eventGenerationState(bool enabled, SensorDataFullRecordBody& body)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - enabled
    - ' body'
    argTypes:
    - bool
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 391
    functionName: get_sdr::body::initTypesState
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void initTypesState(bool enabled, SensorDataFullRecordBody& body)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - enabled
    - ' body'
    argTypes:
    - bool
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 403
    functionName: get_sdr::body::initHystState
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void initHystState(bool enabled, SensorDataFullRecordBody& body)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - enabled
    - ' body'
    argTypes:
    - bool
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 415
    functionName: get_sdr::body::initThreshState
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void initThreshState(bool enabled, SensorDataFullRecordBody& body)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - enabled
    - ' body'
    argTypes:
    - bool
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 427
    functionName: get_sdr::body::initEventsState
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void initEventsState(bool enabled, SensorDataFullRecordBody& body)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - enabled
    - ' body'
    argTypes:
    - bool
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 439
    functionName: get_sdr::body::initScanningState
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void initScanningState(bool enabled, SensorDataFullRecordBody& body)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - enabled
    - ' body'
    argTypes:
    - bool
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 451
    functionName: get_sdr::body::initSettableState
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void initSettableState(bool enabled, SensorDataFullRecordBody& body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' body'
    argTypes:
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 456
    functionName: get_sdr::body::setPercentage
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setPercentage(SensorDataFullRecordBody& body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' body'
    argTypes:
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 461
    functionName: get_sdr::body::unsetPercentage
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void unsetPercentage(SensorDataFullRecordBody& body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - op
    - ' body'
    argTypes:
    - uint8_t
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 467
    functionName: get_sdr::body::setModifierOperation
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setModifierOperation(uint8_t op, SensorDataFullRecordBody& body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - unit
    - ' body'
    argTypes:
    - uint8_t
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 473
    functionName: get_sdr::body::setRateUnit
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setRateUnit(uint8_t unit, SensorDataFullRecordBody& body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - format
    - ' body'
    argTypes:
    - uint8_t
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 479
    functionName: get_sdr::body::setAnalogDataFormat
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setAnalogDataFormat(uint8_t format, SensorDataFullRecordBody&
      body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - m
    - ' body'
    argTypes:
    - uint16_t
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 486
    functionName: get_sdr::body::setM
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setM(uint16_t m, SensorDataFullRecordBody& body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - tol
    - ' body'
    argTypes:
    - uint8_t
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 492
    functionName: get_sdr::body::setTolerance
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setTolerance(uint8_t tol, SensorDataFullRecordBody& body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - b
    - ' body'
    argTypes:
    - uint16_t
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 499
    functionName: get_sdr::body::setB
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setB(uint16_t b, SensorDataFullRecordBody& body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - acc
    - ' body'
    argTypes:
    - uint16_t
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 509
    functionName: get_sdr::body::setAccuracy
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setAccuracy(uint16_t acc, SensorDataFullRecordBody& body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - exp
    - ' body'
    argTypes:
    - uint8_t
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 515
    functionName: get_sdr::body::setAccuracyExp
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setAccuracyExp(uint8_t exp, SensorDataFullRecordBody& body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dir
    - ' body'
    argTypes:
    - uint8_t
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 521
    functionName: get_sdr::body::setSensorDir
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setSensorDir(uint8_t dir, SensorDataFullRecordBody& body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - exp
    - ' body'
    argTypes:
    - uint8_t
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 527
    functionName: get_sdr::body::setBexp
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setBexp(uint8_t exp, SensorDataFullRecordBody& body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - exp
    - ' body'
    argTypes:
    - uint8_t
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 533
    functionName: get_sdr::body::setRexp
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setRexp(uint8_t exp, SensorDataFullRecordBody& body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - len
    - ' body'
    argTypes:
    - uint8_t
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 539
    functionName: get_sdr::body::setIdStrLen
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setIdStrLen(uint8_t len, SensorDataFullRecordBody& body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - len
    - ' body'
    argTypes:
    - uint8_t
    - SensorDataEventRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 545
    functionName: get_sdr::body::setIdStrLen
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setIdStrLen(uint8_t len, SensorDataEventRecordBody& body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' body'
    argTypes:
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 550
    functionName: get_sdr::body::getIdStrLen
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t getIdStrLen(const SensorDataFullRecordBody& body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - type
    - ' body'
    argTypes:
    - uint8_t
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 556
    functionName: get_sdr::body::setIdType
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setIdType(uint8_t type, SensorDataFullRecordBody& body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - type
    - ' body'
    argTypes:
    - uint8_t
    - SensorDataEventRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 562
    functionName: get_sdr::body::setIdType
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setIdType(uint8_t type, SensorDataEventRecordBody& body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - len
    - ' body'
    argTypes:
    - uint8_t
    - SensorDataFruRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 568
    functionName: get_sdr::body::setDeviceIdStrLen
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setDeviceIdStrLen(uint8_t len, SensorDataFruRecordBody& body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' body'
    argTypes:
    - SensorDataFruRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 573
    functionName: get_sdr::body::getDeviceIdStrLen
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t getDeviceIdStrLen(const SensorDataFruRecordBody& body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mask
    - ' body'
    argTypes:
    - uint8_t
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 578
    functionName: get_sdr::body::setReadableMask
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setReadableMask(uint8_t mask, SensorDataFullRecordBody& body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - n
    - ' body'
    argTypes:
    - uint8_t
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 345
    functionName: get_sdr::body::setEntityInstanceNumber
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setEntityInstanceNumber(uint8_t n, SensorDataFullRecordBody& body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' body'
    argTypes:
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 350
    functionName: get_sdr::body::setEntityPhysicalEntity
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setEntityPhysicalEntity(SensorDataFullRecordBody& body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' body'
    argTypes:
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 355
    functionName: get_sdr::body::setEntityLogicalContainer
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setEntityLogicalContainer(SensorDataFullRecordBody& body)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - enabled
    - ' body'
    argTypes:
    - bool
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 367
    functionName: get_sdr::body::sensorScanningState
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void sensorScanningState(bool enabled, SensorDataFullRecordBody& body)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - enabled
    - ' body'
    argTypes:
    - bool
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 379
    functionName: get_sdr::body::eventGenerationState
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void eventGenerationState(bool enabled, SensorDataFullRecordBody& body)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - enabled
    - ' body'
    argTypes:
    - bool
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 391
    functionName: get_sdr::body::initTypesState
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void initTypesState(bool enabled, SensorDataFullRecordBody& body)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - enabled
    - ' body'
    argTypes:
    - bool
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 403
    functionName: get_sdr::body::initHystState
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void initHystState(bool enabled, SensorDataFullRecordBody& body)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - enabled
    - ' body'
    argTypes:
    - bool
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 415
    functionName: get_sdr::body::initThreshState
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void initThreshState(bool enabled, SensorDataFullRecordBody& body)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - enabled
    - ' body'
    argTypes:
    - bool
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 427
    functionName: get_sdr::body::initEventsState
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void initEventsState(bool enabled, SensorDataFullRecordBody& body)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - enabled
    - ' body'
    argTypes:
    - bool
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 439
    functionName: get_sdr::body::initScanningState
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void initScanningState(bool enabled, SensorDataFullRecordBody& body)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - enabled
    - ' body'
    argTypes:
    - bool
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 451
    functionName: get_sdr::body::initSettableState
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void initSettableState(bool enabled, SensorDataFullRecordBody& body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' body'
    argTypes:
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 456
    functionName: get_sdr::body::setPercentage
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setPercentage(SensorDataFullRecordBody& body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' body'
    argTypes:
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 461
    functionName: get_sdr::body::unsetPercentage
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void unsetPercentage(SensorDataFullRecordBody& body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - op
    - ' body'
    argTypes:
    - uint8_t
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 467
    functionName: get_sdr::body::setModifierOperation
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setModifierOperation(uint8_t op, SensorDataFullRecordBody& body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - unit
    - ' body'
    argTypes:
    - uint8_t
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 473
    functionName: get_sdr::body::setRateUnit
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setRateUnit(uint8_t unit, SensorDataFullRecordBody& body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - format
    - ' body'
    argTypes:
    - uint8_t
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 479
    functionName: get_sdr::body::setAnalogDataFormat
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setAnalogDataFormat(uint8_t format, SensorDataFullRecordBody&
      body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - m
    - ' body'
    argTypes:
    - uint16_t
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 486
    functionName: get_sdr::body::setM
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setM(uint16_t m, SensorDataFullRecordBody& body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - tol
    - ' body'
    argTypes:
    - uint8_t
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 492
    functionName: get_sdr::body::setTolerance
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setTolerance(uint8_t tol, SensorDataFullRecordBody& body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - b
    - ' body'
    argTypes:
    - uint16_t
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 499
    functionName: get_sdr::body::setB
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setB(uint16_t b, SensorDataFullRecordBody& body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - acc
    - ' body'
    argTypes:
    - uint16_t
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 509
    functionName: get_sdr::body::setAccuracy
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setAccuracy(uint16_t acc, SensorDataFullRecordBody& body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - exp
    - ' body'
    argTypes:
    - uint8_t
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 515
    functionName: get_sdr::body::setAccuracyExp
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setAccuracyExp(uint8_t exp, SensorDataFullRecordBody& body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dir
    - ' body'
    argTypes:
    - uint8_t
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 521
    functionName: get_sdr::body::setSensorDir
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setSensorDir(uint8_t dir, SensorDataFullRecordBody& body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - exp
    - ' body'
    argTypes:
    - uint8_t
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 527
    functionName: get_sdr::body::setBexp
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setBexp(uint8_t exp, SensorDataFullRecordBody& body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - exp
    - ' body'
    argTypes:
    - uint8_t
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 533
    functionName: get_sdr::body::setRexp
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setRexp(uint8_t exp, SensorDataFullRecordBody& body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - len
    - ' body'
    argTypes:
    - uint8_t
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 539
    functionName: get_sdr::body::setIdStrLen
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setIdStrLen(uint8_t len, SensorDataFullRecordBody& body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - len
    - ' body'
    argTypes:
    - uint8_t
    - SensorDataEventRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 545
    functionName: get_sdr::body::setIdStrLen
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setIdStrLen(uint8_t len, SensorDataEventRecordBody& body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' body'
    argTypes:
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 550
    functionName: get_sdr::body::getIdStrLen
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t getIdStrLen(const SensorDataFullRecordBody& body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - type
    - ' body'
    argTypes:
    - uint8_t
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 556
    functionName: get_sdr::body::setIdType
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setIdType(uint8_t type, SensorDataFullRecordBody& body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - type
    - ' body'
    argTypes:
    - uint8_t
    - SensorDataEventRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 562
    functionName: get_sdr::body::setIdType
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setIdType(uint8_t type, SensorDataEventRecordBody& body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - len
    - ' body'
    argTypes:
    - uint8_t
    - SensorDataFruRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 568
    functionName: get_sdr::body::setDeviceIdStrLen
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setDeviceIdStrLen(uint8_t len, SensorDataFruRecordBody& body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' body'
    argTypes:
    - SensorDataFruRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 573
    functionName: get_sdr::body::getDeviceIdStrLen
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t getDeviceIdStrLen(const SensorDataFruRecordBody& body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mask
    - ' body'
    argTypes:
    - uint8_t
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 578
    functionName: get_sdr::body::setReadableMask
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setReadableMask(uint8_t mask, SensorDataFullRecordBody& body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - SensorDataRecordKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 156
    functionName: get_sdr::key::setOwnerIdIpmb
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setOwnerIdIpmb(SensorDataRecordKey& key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - SensorDataRecordKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 161
    functionName: get_sdr::key::setOwnerIdSystemSw
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setOwnerIdSystemSw(SensorDataRecordKey& key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - SensorDataRecordKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: get_sdr::key::setOwnerIdBmc
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setOwnerIdBmc(SensorDataRecordKey& key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - addr
    - ' key'
    argTypes:
    - uint8_t
    - SensorDataRecordKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 172
    functionName: get_sdr::key::setOwnerIdAddress
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setOwnerIdAddress(uint8_t addr, SensorDataRecordKey& key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - lun
    - ' key'
    argTypes:
    - uint8_t
    - SensorDataRecordKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 178
    functionName: get_sdr::key::setOwnerLun
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setOwnerLun(uint8_t lun, SensorDataRecordKey& key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - channel
    - ' key'
    argTypes:
    - uint8_t
    - SensorDataRecordKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 184
    functionName: get_sdr::key::setOwnerLunChannel
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setOwnerLunChannel(uint8_t channel, SensorDataRecordKey& key)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - isList
    - isLinked
    - ' key'
    argTypes:
    - bool
    - bool
    - SensorDataEntityRecordKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 198
    functionName: get_sdr::key::setFlags
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setFlags(bool isList, bool isLinked, SensorDataEntityRecordKey&
      key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - SensorDataRecordKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 156
    functionName: get_sdr::key::setOwnerIdIpmb
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setOwnerIdIpmb(SensorDataRecordKey& key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - SensorDataRecordKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 161
    functionName: get_sdr::key::setOwnerIdSystemSw
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setOwnerIdSystemSw(SensorDataRecordKey& key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - SensorDataRecordKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: get_sdr::key::setOwnerIdBmc
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setOwnerIdBmc(SensorDataRecordKey& key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - addr
    - ' key'
    argTypes:
    - uint8_t
    - SensorDataRecordKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 172
    functionName: get_sdr::key::setOwnerIdAddress
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setOwnerIdAddress(uint8_t addr, SensorDataRecordKey& key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - lun
    - ' key'
    argTypes:
    - uint8_t
    - SensorDataRecordKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 178
    functionName: get_sdr::key::setOwnerLun
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setOwnerLun(uint8_t lun, SensorDataRecordKey& key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - channel
    - ' key'
    argTypes:
    - uint8_t
    - SensorDataRecordKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 184
    functionName: get_sdr::key::setOwnerLunChannel
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setOwnerLunChannel(uint8_t channel, SensorDataRecordKey& key)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - isList
    - isLinked
    - ' key'
    argTypes:
    - bool
    - bool
    - SensorDataEntityRecordKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 198
    functionName: get_sdr::key::setFlags
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setFlags(bool isList, bool isLinked, SensorDataEntityRecordKey&
      key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - n
    - ' body'
    argTypes:
    - uint8_t
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 345
    functionName: get_sdr::body::setEntityInstanceNumber
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setEntityInstanceNumber(uint8_t n, SensorDataFullRecordBody& body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' body'
    argTypes:
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 350
    functionName: get_sdr::body::setEntityPhysicalEntity
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setEntityPhysicalEntity(SensorDataFullRecordBody& body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' body'
    argTypes:
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 355
    functionName: get_sdr::body::setEntityLogicalContainer
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setEntityLogicalContainer(SensorDataFullRecordBody& body)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - enabled
    - ' body'
    argTypes:
    - bool
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 367
    functionName: get_sdr::body::sensorScanningState
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void sensorScanningState(bool enabled, SensorDataFullRecordBody& body)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - enabled
    - ' body'
    argTypes:
    - bool
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 379
    functionName: get_sdr::body::eventGenerationState
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void eventGenerationState(bool enabled, SensorDataFullRecordBody& body)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - enabled
    - ' body'
    argTypes:
    - bool
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 391
    functionName: get_sdr::body::initTypesState
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void initTypesState(bool enabled, SensorDataFullRecordBody& body)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - enabled
    - ' body'
    argTypes:
    - bool
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 403
    functionName: get_sdr::body::initHystState
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void initHystState(bool enabled, SensorDataFullRecordBody& body)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - enabled
    - ' body'
    argTypes:
    - bool
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 415
    functionName: get_sdr::body::initThreshState
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void initThreshState(bool enabled, SensorDataFullRecordBody& body)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - enabled
    - ' body'
    argTypes:
    - bool
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 427
    functionName: get_sdr::body::initEventsState
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void initEventsState(bool enabled, SensorDataFullRecordBody& body)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - enabled
    - ' body'
    argTypes:
    - bool
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 439
    functionName: get_sdr::body::initScanningState
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void initScanningState(bool enabled, SensorDataFullRecordBody& body)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - enabled
    - ' body'
    argTypes:
    - bool
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 451
    functionName: get_sdr::body::initSettableState
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void initSettableState(bool enabled, SensorDataFullRecordBody& body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' body'
    argTypes:
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 456
    functionName: get_sdr::body::setPercentage
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setPercentage(SensorDataFullRecordBody& body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' body'
    argTypes:
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 461
    functionName: get_sdr::body::unsetPercentage
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void unsetPercentage(SensorDataFullRecordBody& body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - op
    - ' body'
    argTypes:
    - uint8_t
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 467
    functionName: get_sdr::body::setModifierOperation
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setModifierOperation(uint8_t op, SensorDataFullRecordBody& body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - unit
    - ' body'
    argTypes:
    - uint8_t
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 473
    functionName: get_sdr::body::setRateUnit
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setRateUnit(uint8_t unit, SensorDataFullRecordBody& body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - format
    - ' body'
    argTypes:
    - uint8_t
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 479
    functionName: get_sdr::body::setAnalogDataFormat
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setAnalogDataFormat(uint8_t format, SensorDataFullRecordBody&
      body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - m
    - ' body'
    argTypes:
    - uint16_t
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 486
    functionName: get_sdr::body::setM
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setM(uint16_t m, SensorDataFullRecordBody& body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - tol
    - ' body'
    argTypes:
    - uint8_t
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 492
    functionName: get_sdr::body::setTolerance
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setTolerance(uint8_t tol, SensorDataFullRecordBody& body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - b
    - ' body'
    argTypes:
    - uint16_t
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 499
    functionName: get_sdr::body::setB
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setB(uint16_t b, SensorDataFullRecordBody& body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - acc
    - ' body'
    argTypes:
    - uint16_t
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 509
    functionName: get_sdr::body::setAccuracy
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setAccuracy(uint16_t acc, SensorDataFullRecordBody& body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - exp
    - ' body'
    argTypes:
    - uint8_t
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 515
    functionName: get_sdr::body::setAccuracyExp
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setAccuracyExp(uint8_t exp, SensorDataFullRecordBody& body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dir
    - ' body'
    argTypes:
    - uint8_t
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 521
    functionName: get_sdr::body::setSensorDir
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setSensorDir(uint8_t dir, SensorDataFullRecordBody& body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - exp
    - ' body'
    argTypes:
    - uint8_t
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 527
    functionName: get_sdr::body::setBexp
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setBexp(uint8_t exp, SensorDataFullRecordBody& body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - exp
    - ' body'
    argTypes:
    - uint8_t
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 533
    functionName: get_sdr::body::setRexp
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setRexp(uint8_t exp, SensorDataFullRecordBody& body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - len
    - ' body'
    argTypes:
    - uint8_t
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 539
    functionName: get_sdr::body::setIdStrLen
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setIdStrLen(uint8_t len, SensorDataFullRecordBody& body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - len
    - ' body'
    argTypes:
    - uint8_t
    - SensorDataEventRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 545
    functionName: get_sdr::body::setIdStrLen
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setIdStrLen(uint8_t len, SensorDataEventRecordBody& body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' body'
    argTypes:
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 550
    functionName: get_sdr::body::getIdStrLen
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t getIdStrLen(const SensorDataFullRecordBody& body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - type
    - ' body'
    argTypes:
    - uint8_t
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 556
    functionName: get_sdr::body::setIdType
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setIdType(uint8_t type, SensorDataFullRecordBody& body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - type
    - ' body'
    argTypes:
    - uint8_t
    - SensorDataEventRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 562
    functionName: get_sdr::body::setIdType
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setIdType(uint8_t type, SensorDataEventRecordBody& body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - len
    - ' body'
    argTypes:
    - uint8_t
    - SensorDataFruRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 568
    functionName: get_sdr::body::setDeviceIdStrLen
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setDeviceIdStrLen(uint8_t len, SensorDataFruRecordBody& body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' body'
    argTypes:
    - SensorDataFruRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 573
    functionName: get_sdr::body::getDeviceIdStrLen
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t getDeviceIdStrLen(const SensorDataFruRecordBody& body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mask
    - ' body'
    argTypes:
    - uint8_t
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 578
    functionName: get_sdr::body::setReadableMask
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setReadableMask(uint8_t mask, SensorDataFullRecordBody& body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - n
    - ' body'
    argTypes:
    - uint8_t
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 345
    functionName: get_sdr::body::setEntityInstanceNumber
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setEntityInstanceNumber(uint8_t n, SensorDataFullRecordBody& body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' body'
    argTypes:
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 350
    functionName: get_sdr::body::setEntityPhysicalEntity
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setEntityPhysicalEntity(SensorDataFullRecordBody& body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' body'
    argTypes:
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 355
    functionName: get_sdr::body::setEntityLogicalContainer
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setEntityLogicalContainer(SensorDataFullRecordBody& body)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - enabled
    - ' body'
    argTypes:
    - bool
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 367
    functionName: get_sdr::body::sensorScanningState
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void sensorScanningState(bool enabled, SensorDataFullRecordBody& body)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - enabled
    - ' body'
    argTypes:
    - bool
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 379
    functionName: get_sdr::body::eventGenerationState
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void eventGenerationState(bool enabled, SensorDataFullRecordBody& body)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - enabled
    - ' body'
    argTypes:
    - bool
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 391
    functionName: get_sdr::body::initTypesState
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void initTypesState(bool enabled, SensorDataFullRecordBody& body)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - enabled
    - ' body'
    argTypes:
    - bool
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 403
    functionName: get_sdr::body::initHystState
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void initHystState(bool enabled, SensorDataFullRecordBody& body)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - enabled
    - ' body'
    argTypes:
    - bool
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 415
    functionName: get_sdr::body::initThreshState
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void initThreshState(bool enabled, SensorDataFullRecordBody& body)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - enabled
    - ' body'
    argTypes:
    - bool
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 427
    functionName: get_sdr::body::initEventsState
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void initEventsState(bool enabled, SensorDataFullRecordBody& body)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - enabled
    - ' body'
    argTypes:
    - bool
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 439
    functionName: get_sdr::body::initScanningState
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void initScanningState(bool enabled, SensorDataFullRecordBody& body)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - enabled
    - ' body'
    argTypes:
    - bool
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 451
    functionName: get_sdr::body::initSettableState
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void initSettableState(bool enabled, SensorDataFullRecordBody& body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' body'
    argTypes:
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 456
    functionName: get_sdr::body::setPercentage
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setPercentage(SensorDataFullRecordBody& body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' body'
    argTypes:
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 461
    functionName: get_sdr::body::unsetPercentage
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void unsetPercentage(SensorDataFullRecordBody& body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - op
    - ' body'
    argTypes:
    - uint8_t
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 467
    functionName: get_sdr::body::setModifierOperation
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setModifierOperation(uint8_t op, SensorDataFullRecordBody& body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - unit
    - ' body'
    argTypes:
    - uint8_t
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 473
    functionName: get_sdr::body::setRateUnit
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setRateUnit(uint8_t unit, SensorDataFullRecordBody& body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - format
    - ' body'
    argTypes:
    - uint8_t
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 479
    functionName: get_sdr::body::setAnalogDataFormat
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setAnalogDataFormat(uint8_t format, SensorDataFullRecordBody&
      body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - m
    - ' body'
    argTypes:
    - uint16_t
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 486
    functionName: get_sdr::body::setM
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setM(uint16_t m, SensorDataFullRecordBody& body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - tol
    - ' body'
    argTypes:
    - uint8_t
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 492
    functionName: get_sdr::body::setTolerance
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setTolerance(uint8_t tol, SensorDataFullRecordBody& body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - b
    - ' body'
    argTypes:
    - uint16_t
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 499
    functionName: get_sdr::body::setB
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setB(uint16_t b, SensorDataFullRecordBody& body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - acc
    - ' body'
    argTypes:
    - uint16_t
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 509
    functionName: get_sdr::body::setAccuracy
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setAccuracy(uint16_t acc, SensorDataFullRecordBody& body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - exp
    - ' body'
    argTypes:
    - uint8_t
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 515
    functionName: get_sdr::body::setAccuracyExp
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setAccuracyExp(uint8_t exp, SensorDataFullRecordBody& body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dir
    - ' body'
    argTypes:
    - uint8_t
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 521
    functionName: get_sdr::body::setSensorDir
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setSensorDir(uint8_t dir, SensorDataFullRecordBody& body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - exp
    - ' body'
    argTypes:
    - uint8_t
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 527
    functionName: get_sdr::body::setBexp
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setBexp(uint8_t exp, SensorDataFullRecordBody& body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - exp
    - ' body'
    argTypes:
    - uint8_t
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 533
    functionName: get_sdr::body::setRexp
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setRexp(uint8_t exp, SensorDataFullRecordBody& body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - len
    - ' body'
    argTypes:
    - uint8_t
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 539
    functionName: get_sdr::body::setIdStrLen
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setIdStrLen(uint8_t len, SensorDataFullRecordBody& body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - len
    - ' body'
    argTypes:
    - uint8_t
    - SensorDataEventRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 545
    functionName: get_sdr::body::setIdStrLen
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setIdStrLen(uint8_t len, SensorDataEventRecordBody& body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' body'
    argTypes:
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 550
    functionName: get_sdr::body::getIdStrLen
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t getIdStrLen(const SensorDataFullRecordBody& body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - type
    - ' body'
    argTypes:
    - uint8_t
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 556
    functionName: get_sdr::body::setIdType
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setIdType(uint8_t type, SensorDataFullRecordBody& body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - type
    - ' body'
    argTypes:
    - uint8_t
    - SensorDataEventRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 562
    functionName: get_sdr::body::setIdType
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setIdType(uint8_t type, SensorDataEventRecordBody& body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - len
    - ' body'
    argTypes:
    - uint8_t
    - SensorDataFruRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 568
    functionName: get_sdr::body::setDeviceIdStrLen
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setDeviceIdStrLen(uint8_t len, SensorDataFruRecordBody& body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' body'
    argTypes:
    - SensorDataFruRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 573
    functionName: get_sdr::body::getDeviceIdStrLen
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t getDeviceIdStrLen(const SensorDataFruRecordBody& body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mask
    - ' body'
    argTypes:
    - uint8_t
    - SensorDataFullRecordBody
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 578
    functionName: get_sdr::body::setReadableMask
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setReadableMask(uint8_t mask, SensorDataFullRecordBody& body)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - offset
    - ' resp'
    argTypes:
    - uint8_t
    - ipmi::sensor::GetSensorResponse
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 665
    functionDepth: 0
    functionLinenumber: 665
    functionLinenumberEnd: 675
    functionName: ipmi::sensor::setOffset
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setOffset(uint8_t offset, ipmi::sensor::GetSensorResponse& resp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - ' resp'
    argTypes:
    - uint8_t
    - ipmi::sensor::GetSensorResponse
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 686
    functionName: ipmi::sensor::setReading
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setReading(uint8_t value, ipmi::sensor::GetSensorResponse& resp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/sensorhandler.hpp:698,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/sensorhandler.hpp:699,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - value
    - ' resp'
    argTypes:
    - uint16_t
    - ipmi::sensor::GetSensorResponse
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 700
    functionName: ipmi::sensor::setAssertionBytes
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: "void setAssertionBytes(uint16_t value,\n                              ipmi::sensor::GetSensorResponse&
      resp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' resp'
    argTypes:
    - ipmi::sensor::GetSensorResponse
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 707
    functionDepth: 0
    functionLinenumber: 707
    functionLinenumberEnd: 712
    functionName: ipmi::sensor::enableScanning
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void enableScanning(ipmi::sensor::GetSensorResponse& resp)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - offset
    - ' resp'
    argTypes:
    - uint8_t
    - ipmi::sensor::GetSensorResponse
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 665
    functionDepth: 0
    functionLinenumber: 665
    functionLinenumberEnd: 675
    functionName: ipmi::sensor::setOffset
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setOffset(uint8_t offset, ipmi::sensor::GetSensorResponse& resp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - ' resp'
    argTypes:
    - uint8_t
    - ipmi::sensor::GetSensorResponse
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 686
    functionName: ipmi::sensor::setReading
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setReading(uint8_t value, ipmi::sensor::GetSensorResponse& resp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/sensorhandler.hpp:698,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/sensorhandler.hpp:699,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - value
    - ' resp'
    argTypes:
    - uint16_t
    - ipmi::sensor::GetSensorResponse
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 700
    functionName: ipmi::sensor::setAssertionBytes
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: "void setAssertionBytes(uint16_t value,\n                              ipmi::sensor::GetSensorResponse&
      resp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' resp'
    argTypes:
    - ipmi::sensor::GetSensorResponse
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 707
    functionDepth: 0
    functionLinenumber: 707
    functionLinenumberEnd: 712
    functionName: ipmi::sensor::enableScanning
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void enableScanning(ipmi::sensor::GetSensorResponse& resp)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - offset
    - ' resp'
    argTypes:
    - uint8_t
    - ipmi::sensor::GetSensorResponse
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 665
    functionDepth: 0
    functionLinenumber: 665
    functionLinenumberEnd: 675
    functionName: ipmi::sensor::setOffset
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setOffset(uint8_t offset, ipmi::sensor::GetSensorResponse& resp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - ' resp'
    argTypes:
    - uint8_t
    - ipmi::sensor::GetSensorResponse
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 686
    functionName: ipmi::sensor::setReading
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setReading(uint8_t value, ipmi::sensor::GetSensorResponse& resp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/sensorhandler.hpp:698,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/sensorhandler.hpp:699,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - value
    - ' resp'
    argTypes:
    - uint16_t
    - ipmi::sensor::GetSensorResponse
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 700
    functionName: ipmi::sensor::setAssertionBytes
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: "void setAssertionBytes(uint16_t value,\n                              ipmi::sensor::GetSensorResponse&
      resp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' resp'
    argTypes:
    - ipmi::sensor::GetSensorResponse
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 707
    functionDepth: 0
    functionLinenumber: 707
    functionLinenumberEnd: 712
    functionName: ipmi::sensor::enableScanning
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void enableScanning(ipmi::sensor::GetSensorResponse& resp)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - offset
    - ' resp'
    argTypes:
    - uint8_t
    - ipmi::sensor::GetSensorResponse
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 665
    functionDepth: 0
    functionLinenumber: 665
    functionLinenumberEnd: 675
    functionName: ipmi::sensor::setOffset
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setOffset(uint8_t offset, ipmi::sensor::GetSensorResponse& resp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - ' resp'
    argTypes:
    - uint8_t
    - ipmi::sensor::GetSensorResponse
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 686
    functionName: ipmi::sensor::setReading
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setReading(uint8_t value, ipmi::sensor::GetSensorResponse& resp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/sensorhandler.hpp:698,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/sensorhandler.hpp:699,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - value
    - ' resp'
    argTypes:
    - uint16_t
    - ipmi::sensor::GetSensorResponse
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 700
    functionName: ipmi::sensor::setAssertionBytes
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: "void setAssertionBytes(uint16_t value,\n                              ipmi::sensor::GetSensorResponse&
      resp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' resp'
    argTypes:
    - ipmi::sensor::GetSensorResponse
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 707
    functionDepth: 0
    functionLinenumber: 707
    functionLinenumberEnd: 712
    functionName: ipmi::sensor::enableScanning
    functionSourceFile: /src/phosphor-host-ipmid/sensorhandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void enableScanning(ipmi::sensor::GetSensorResponse& resp)
  - 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: phosphor::host::command::Manager::Manager
    functionSourceFile: /src/phosphor-host-ipmid/host-cmd-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: ~Manager()
    functionSourceFile: /src/phosphor-host-ipmid/host-cmd-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: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: phosphor::host::command::Manager::Manager
    functionSourceFile: /src/phosphor-host-ipmid/host-cmd-manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Manager(const 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/phosphor-host-ipmid/host-cmd-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: phosphor::host::command::Manager::Manager
    functionSourceFile: /src/phosphor-host-ipmid/host-cmd-manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Manager(Manager&&)
  - 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=(Manager&&)'
    functionSourceFile: /src/phosphor-host-ipmid/host-cmd-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: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: phosphor::host::command::Manager::Manager
    functionSourceFile: /src/phosphor-host-ipmid/host-cmd-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: ~Manager()
    functionSourceFile: /src/phosphor-host-ipmid/host-cmd-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: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: phosphor::host::command::Manager::Manager
    functionSourceFile: /src/phosphor-host-ipmid/host-cmd-manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Manager(const 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/phosphor-host-ipmid/host-cmd-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: phosphor::host::command::Manager::Manager
    functionSourceFile: /src/phosphor-host-ipmid/host-cmd-manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Manager(Manager&&)
  - 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=(Manager&&)'
    functionSourceFile: /src/phosphor-host-ipmid/host-cmd-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: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: phosphor::host::command::Manager::Manager
    functionSourceFile: /src/phosphor-host-ipmid/host-cmd-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: ~Manager()
    functionSourceFile: /src/phosphor-host-ipmid/host-cmd-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: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: phosphor::host::command::Manager::Manager
    functionSourceFile: /src/phosphor-host-ipmid/host-cmd-manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Manager(const 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/phosphor-host-ipmid/host-cmd-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: phosphor::host::command::Manager::Manager
    functionSourceFile: /src/phosphor-host-ipmid/host-cmd-manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Manager(Manager&&)
  - 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=(Manager&&)'
    functionSourceFile: /src/phosphor-host-ipmid/host-cmd-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: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: phosphor::host::command::Manager::Manager
    functionSourceFile: /src/phosphor-host-ipmid/host-cmd-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: ~Manager()
    functionSourceFile: /src/phosphor-host-ipmid/host-cmd-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: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: phosphor::host::command::Manager::Manager
    functionSourceFile: /src/phosphor-host-ipmid/host-cmd-manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Manager(const 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/phosphor-host-ipmid/host-cmd-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: phosphor::host::command::Manager::Manager
    functionSourceFile: /src/phosphor-host-ipmid/host-cmd-manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Manager(Manager&&)
  - 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=(Manager&&)'
    functionSourceFile: /src/phosphor-host-ipmid/host-cmd-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: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: phosphor::host::command::Manager::Manager
    functionSourceFile: /src/phosphor-host-ipmid/host-cmd-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: ~Manager()
    functionSourceFile: /src/phosphor-host-ipmid/host-cmd-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: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: phosphor::host::command::Manager::Manager
    functionSourceFile: /src/phosphor-host-ipmid/host-cmd-manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Manager(const 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/phosphor-host-ipmid/host-cmd-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: phosphor::host::command::Manager::Manager
    functionSourceFile: /src/phosphor-host-ipmid/host-cmd-manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Manager(Manager&&)
  - 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=(Manager&&)'
    functionSourceFile: /src/phosphor-host-ipmid/host-cmd-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: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: phosphor::host::command::Manager::Manager
    functionSourceFile: /src/phosphor-host-ipmid/host-cmd-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: ~Manager()
    functionSourceFile: /src/phosphor-host-ipmid/host-cmd-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: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: phosphor::host::command::Manager::Manager
    functionSourceFile: /src/phosphor-host-ipmid/host-cmd-manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Manager(const 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/phosphor-host-ipmid/host-cmd-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: phosphor::host::command::Manager::Manager
    functionSourceFile: /src/phosphor-host-ipmid/host-cmd-manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Manager(Manager&&)
  - 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=(Manager&&)'
    functionSourceFile: /src/phosphor-host-ipmid/host-cmd-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: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: phosphor::host::command::Manager::Manager
    functionSourceFile: /src/phosphor-host-ipmid/host-cmd-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: ~Manager()
    functionSourceFile: /src/phosphor-host-ipmid/host-cmd-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: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: phosphor::host::command::Manager::Manager
    functionSourceFile: /src/phosphor-host-ipmid/host-cmd-manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Manager(const 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/phosphor-host-ipmid/host-cmd-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: phosphor::host::command::Manager::Manager
    functionSourceFile: /src/phosphor-host-ipmid/host-cmd-manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Manager(Manager&&)
  - 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=(Manager&&)'
    functionSourceFile: /src/phosphor-host-ipmid/host-cmd-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: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: phosphor::host::command::Manager::Manager
    functionSourceFile: /src/phosphor-host-ipmid/host-cmd-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: ~Manager()
    functionSourceFile: /src/phosphor-host-ipmid/host-cmd-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: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: phosphor::host::command::Manager::Manager
    functionSourceFile: /src/phosphor-host-ipmid/host-cmd-manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Manager(const 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/phosphor-host-ipmid/host-cmd-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: phosphor::host::command::Manager::Manager
    functionSourceFile: /src/phosphor-host-ipmid/host-cmd-manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Manager(Manager&&)
  - 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=(Manager&&)'
    functionSourceFile: /src/phosphor-host-ipmid/host-cmd-manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Manager
    signature: Manager & operator=(Manager&&)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::ifstream::fail
      Src: /src/phosphor-host-ipmid/storageaddsel.cpp:30,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/storageaddsel.cpp:32,1
    - Dst: std::ifstream::seekg
      Src: /src/phosphor-host-ipmid/storageaddsel.cpp:37,1
    - Dst: std::string::resize
      Src: /src/phosphor-host-ipmid/storageaddsel.cpp:38,1
    - Dst: std::ifstream::tellg
      Src: /src/phosphor-host-ipmid/storageaddsel.cpp:38,1
    - Dst: std::ifstream::seekg
      Src: /src/phosphor-host-ipmid/storageaddsel.cpp:39,1
    - Dst: std::ifstream::read
      Src: /src/phosphor-host-ipmid/storageaddsel.cpp:40,1
    - Dst: std::string::size
      Src: /src/phosphor-host-ipmid/storageaddsel.cpp:40,1
    - Dst: std::ifstream::close
      Src: /src/phosphor-host-ipmid/storageaddsel.cpp:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - fileName
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 44
    functionName: readESEL
    functionSourceFile: /src/phosphor-host-ipmid/storageaddsel.cpp
    functionUses: 0
    functionsReached:
    - std::ifstream::close
    - std::ifstream::seekg
    - std::ifstream::fail
    - std::ifstream::read
    - std::ifstream::tellg
    - std::string::resize
    - lg2::error
    - std::string::size
    linkageType: ''
    returnType: std::string
    signature: std::string readESEL(const char* fileName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readESEL
      Src: /src/phosphor-host-ipmid/storageaddsel.cpp:50,1
    - Dst: auto::size
      Src: /src/phosphor-host-ipmid/storageaddsel.cpp:56,1
    - Dst: char::char
      Src: /src/phosphor-host-ipmid/storageaddsel.cpp:56,1
    - Dst: auto::size
      Src: /src/phosphor-host-ipmid/storageaddsel.cpp:58,1
    - Dst: sprintf
      Src: /src/phosphor-host-ipmid/storageaddsel.cpp:60,1
    - Dst: auto::size
      Src: /src/phosphor-host-ipmid/storageaddsel.cpp:62,1
    - Dst: report<error>
      Src: /src/phosphor-host-ipmid/storageaddsel.cpp:67,1
    - Dst: readESEL
      Src: /src/phosphor-host-ipmid/storageaddsel.cpp:67,1
    - Dst: std::unique_ptr::get
      Src: /src/phosphor-host-ipmid/storageaddsel.cpp:67,1
    - Dst: metadata::PROCEDURE
      Src: /src/phosphor-host-ipmid/storageaddsel.cpp:68,1
    - Dst: static_cast<uint32_t>
      Src: /src/phosphor-host-ipmid/storageaddsel.cpp:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - procedureNum
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 69
    functionName: createProcedureLogEntry
    functionSourceFile: /src/phosphor-host-ipmid/storageaddsel.cpp
    functionUses: 1
    functionsReached:
    - char::char
    - readESEL
    - metadata::PROCEDURE
    - report<error>
    - static_cast<uint32_t>
    - std::unique_ptr::get
    - sprintf
    - auto::size
    linkageType: ''
    returnType: void
    signature: void createProcedureLogEntry(uint8_t procedureNum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lg2::info
      Src: /src/phosphor-host-ipmid/groupext.cpp:14,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/groupext.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 12
    functionDepth: 1
    functionLinenumber: 12
    functionLinenumberEnd: 20
    functionName: ipmiGroupExt
    functionSourceFile: /src/phosphor-host-ipmid/groupext.cpp
    functionUses: 0
    functionsReached:
    - lg2::info
    - ipmi::responseSuccess
    linkageType: ''
    returnType: ipmi::RspType<uint8_t>
    signature: ipmi::RspType<uint8_t> ipmiGroupExt()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::registerGroupHandler
      Src: /src/phosphor-host-ipmid/groupext.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 30
    functionName: registerNetFnGroupExtFunctions
    functionSourceFile: /src/phosphor-host-ipmid/groupext.cpp
    functionUses: 0
    functionsReached:
    - ipmi::registerGroupHandler
    linkageType: ''
    returnType: void
    signature: void registerNetFnGroupExtFunctions()
  - 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: ~AllowlistFilter()
    functionSourceFile: /src/phosphor-host-ipmid/whitelist-filter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~AllowlistFilter()
  - 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: ipmi::AllowlistFilter::AllowlistFilter
    functionSourceFile: /src/phosphor-host-ipmid/whitelist-filter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AllowlistFilter(const AllowlistFilter&)
  - 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: ipmi::AllowlistFilter::AllowlistFilter
    functionSourceFile: /src/phosphor-host-ipmid/whitelist-filter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AllowlistFilter(AllowlistFilter&&)
  - 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 AllowlistFilter&)'
    functionSourceFile: /src/phosphor-host-ipmid/whitelist-filter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AllowlistFilter
    signature: AllowlistFilter & operator=(const AllowlistFilter&)
  - 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=(AllowlistFilter&&)'
    functionSourceFile: /src/phosphor-host-ipmid/whitelist-filter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AllowlistFilter
    signature: AllowlistFilter & operator=(AllowlistFilter&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSdBus
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:59,1
    - Dst: lg2::info
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:61,1
    - Dst: ipmi::registerFilter
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:62,1
    - Dst: ipmi::AllowlistFilter::filterMessage
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:64,1
    - Dst: post_work
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:68,1
    - Dst: ipmi::AllowlistFilter::postInit
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 69
    functionName: ipmi::AllowlistFilter::AllowlistFilter
    functionSourceFile: /src/phosphor-host-ipmid/whitelist-filter.cpp
    functionUses: 0
    functionsReached:
    - ipmi::AllowlistFilter::filterMessage
    - ipmi::registerFilter
    - post_work
    - getSdBus
    - lg2::info
    - ipmi::AllowlistFilter::postInit
    linkageType: ''
    returnType: void
    signature: void AllowlistFilter::AllowlistFilter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:90,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:94,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:102,1
    - Dst: std::get<std::string>
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:105,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:109,1
    - Dst: std::distance
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:111,1
    - Dst: std::begin
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:111,1
    - Dst: RestrictionMode::convertModesFromString
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:115,1
    - Dst: emplace_back
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:119,1
    - Dst: lg2::info
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:121,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - ' devices'
    - ' serviceMaps'
    argTypes:
    - std::vector<std::string>
    - std::map<std::string, std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 124
    functionName: ipmi::AllowlistFilter::cacheRestrictedMode
    functionSourceFile: /src/phosphor-host-ipmid/whitelist-filter.cpp
    functionUses: 0
    functionsReached:
    - std::begin
    - emplace_back
    - std::distance
    - at
    - lg2::info
    - ipmi::getDbusProperty
    - lg2::error
    - RestrictionMode::convertModesFromString
    - std::get<std::string>
    linkageType: ''
    returnType: void
    signature: "void AllowlistFilter::cacheRestrictedMode(\n    const std::vector<std::string>&
      devices,\n    const std::map<std::string, std::string>& serviceMaps)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:138,1
    - Dst: get_path
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:140,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:142,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:144,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:146,1
    - Dst: RestrictionMode::convertModesFromString
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:158,1
    - Dst: std::get<std::string>
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:159,1
    - Dst: lg2::info
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:164,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ' m'
    - ' deviceList'
    argTypes:
    - sdbusplus::message_t
    - std::map<std::string, size_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 168
    functionName: ipmi::AllowlistFilter::handleRestrictedModeChange
    functionSourceFile: /src/phosphor-host-ipmid/whitelist-filter.cpp
    functionUses: 0
    functionsReached:
    - get_path
    - read
    - end
    - find
    - lg2::info
    - lg2::error
    - RestrictionMode::convertModesFromString
    - std::get<std::string>
    linkageType: ''
    returnType: void
    signature: "void AllowlistFilter::handleRestrictedModeChange(\n    sdbusplus::message_t&
      m, const std::map<std::string, size_t>& deviceList)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<settings::Objects>
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:177,1
    - Dst: std::vector<settings::Interface>
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:178,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:181,1
    - Dst: map::at
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:189,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:193,1
    - Dst: ipmi::AllowlistFilter::cacheRestrictedMode
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:198,1
    - Dst: std::vector::size
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:202,1
    - Dst: std::map::emplace
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:204,1
    - Dst: sdbusplus::bus::match::rules::propertiesChangedNamespace
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:210,1
    - Dst: std::make_unique<sdbusplus::bus::match_t>
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:213,1
    - Dst: ipmi::AllowlistFilter::handleRestrictedModeChange
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:215,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 217
    functionName: ipmi::AllowlistFilter::postInit
    functionSourceFile: /src/phosphor-host-ipmid/whitelist-filter.cpp
    functionUses: 1
    functionsReached:
    - std::vector<settings::Interface>
    - std::map::emplace
    - std::vector::size
    - sdbusplus::bus::match::rules::propertiesChangedNamespace
    - std::make_unique<sdbusplus::bus::match_t>
    - ipmi::AllowlistFilter::cacheRestrictedMode
    - map::at
    - lg2::error
    - ipmi::AllowlistFilter::handleRestrictedModeChange
    - std::make_unique<settings::Objects>
    linkageType: ''
    returnType: void
    signature: void AllowlistFilter::postInit()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::binary_search
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:235,1
    - Dst: cbegin
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:236,1
    - Dst: cend
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:236,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:237,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:239,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - request
    argTypes:
    - ipmi::message::Request::ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 248
    functionName: ipmi::AllowlistFilter::filterMessage
    functionSourceFile: /src/phosphor-host-ipmid/whitelist-filter.cpp
    functionUses: 1
    functionsReached:
    - std::make_pair
    - cend
    - std::binary_search
    - cbegin
    - lg2::error
    linkageType: ''
    returnType: ipmi::Cc
    signature: ipmi::Cc AllowlistFilter::filterMessage(ipmi::message::Request::ptr
      request)
  - 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: ~AllowlistFilter()
    functionSourceFile: /src/phosphor-host-ipmid/whitelist-filter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~AllowlistFilter()
  - 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: ipmi::AllowlistFilter::AllowlistFilter
    functionSourceFile: /src/phosphor-host-ipmid/whitelist-filter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AllowlistFilter(const AllowlistFilter&)
  - 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: ipmi::AllowlistFilter::AllowlistFilter
    functionSourceFile: /src/phosphor-host-ipmid/whitelist-filter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AllowlistFilter(AllowlistFilter&&)
  - 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 AllowlistFilter&)'
    functionSourceFile: /src/phosphor-host-ipmid/whitelist-filter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AllowlistFilter
    signature: AllowlistFilter & operator=(const AllowlistFilter&)
  - 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=(AllowlistFilter&&)'
    functionSourceFile: /src/phosphor-host-ipmid/whitelist-filter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AllowlistFilter
    signature: AllowlistFilter & operator=(AllowlistFilter&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSdBus
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:59,1
    - Dst: lg2::info
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:61,1
    - Dst: ipmi::registerFilter
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:62,1
    - Dst: ipmi::AllowlistFilter::filterMessage
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:64,1
    - Dst: post_work
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:68,1
    - Dst: ipmi::AllowlistFilter::postInit
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 69
    functionName: ipmi::AllowlistFilter::AllowlistFilter
    functionSourceFile: /src/phosphor-host-ipmid/whitelist-filter.cpp
    functionUses: 0
    functionsReached:
    - ipmi::AllowlistFilter::filterMessage
    - ipmi::registerFilter
    - post_work
    - getSdBus
    - lg2::info
    - ipmi::AllowlistFilter::postInit
    linkageType: ''
    returnType: void
    signature: void AllowlistFilter::AllowlistFilter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:90,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:94,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:102,1
    - Dst: std::get<std::string>
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:105,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:109,1
    - Dst: std::distance
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:111,1
    - Dst: std::begin
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:111,1
    - Dst: RestrictionMode::convertModesFromString
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:115,1
    - Dst: emplace_back
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:119,1
    - Dst: lg2::info
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:121,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - ' devices'
    - ' serviceMaps'
    argTypes:
    - std::vector<std::string>
    - std::map<std::string, std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 124
    functionName: ipmi::AllowlistFilter::cacheRestrictedMode
    functionSourceFile: /src/phosphor-host-ipmid/whitelist-filter.cpp
    functionUses: 1
    functionsReached:
    - std::begin
    - emplace_back
    - std::distance
    - at
    - lg2::info
    - ipmi::getDbusProperty
    - lg2::error
    - RestrictionMode::convertModesFromString
    - std::get<std::string>
    linkageType: ''
    returnType: void
    signature: "void AllowlistFilter::cacheRestrictedMode(\n    const std::vector<std::string>&
      devices,\n    const std::map<std::string, std::string>& serviceMaps)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:138,1
    - Dst: get_path
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:140,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:142,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:144,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:146,1
    - Dst: RestrictionMode::convertModesFromString
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:158,1
    - Dst: std::get<std::string>
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:159,1
    - Dst: lg2::info
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:164,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ' m'
    - ' deviceList'
    argTypes:
    - sdbusplus::message_t
    - std::map<std::string, size_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 168
    functionName: ipmi::AllowlistFilter::handleRestrictedModeChange
    functionSourceFile: /src/phosphor-host-ipmid/whitelist-filter.cpp
    functionUses: 1
    functionsReached:
    - get_path
    - read
    - end
    - find
    - lg2::info
    - lg2::error
    - RestrictionMode::convertModesFromString
    - std::get<std::string>
    linkageType: ''
    returnType: void
    signature: "void AllowlistFilter::handleRestrictedModeChange(\n    sdbusplus::message_t&
      m, const std::map<std::string, size_t>& deviceList)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<settings::Objects>
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:177,1
    - Dst: std::vector<settings::Interface>
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:178,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:181,1
    - Dst: map::at
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:189,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:193,1
    - Dst: ipmi::AllowlistFilter::cacheRestrictedMode
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:198,1
    - Dst: std::vector::size
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:202,1
    - Dst: std::map::emplace
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:204,1
    - Dst: sdbusplus::bus::match::rules::propertiesChangedNamespace
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:210,1
    - Dst: std::make_unique<sdbusplus::bus::match_t>
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:213,1
    - Dst: ipmi::AllowlistFilter::handleRestrictedModeChange
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:215,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 217
    functionName: ipmi::AllowlistFilter::postInit
    functionSourceFile: /src/phosphor-host-ipmid/whitelist-filter.cpp
    functionUses: 2
    functionsReached:
    - std::vector<settings::Interface>
    - std::map::emplace
    - std::vector::size
    - sdbusplus::bus::match::rules::propertiesChangedNamespace
    - std::make_unique<sdbusplus::bus::match_t>
    - ipmi::AllowlistFilter::cacheRestrictedMode
    - map::at
    - lg2::error
    - ipmi::AllowlistFilter::handleRestrictedModeChange
    - std::make_unique<settings::Objects>
    linkageType: ''
    returnType: void
    signature: void AllowlistFilter::postInit()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::binary_search
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:235,1
    - Dst: cbegin
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:236,1
    - Dst: cend
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:236,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:237,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:239,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - request
    argTypes:
    - ipmi::message::Request::ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 248
    functionName: ipmi::AllowlistFilter::filterMessage
    functionSourceFile: /src/phosphor-host-ipmid/whitelist-filter.cpp
    functionUses: 2
    functionsReached:
    - std::make_pair
    - cend
    - std::binary_search
    - cbegin
    - lg2::error
    linkageType: ''
    returnType: ipmi::Cc
    signature: ipmi::Cc AllowlistFilter::filterMessage(ipmi::message::Request::ptr
      request)
  - 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: ~AllowlistFilter()
    functionSourceFile: /src/phosphor-host-ipmid/whitelist-filter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~AllowlistFilter()
  - 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: ipmi::AllowlistFilter::AllowlistFilter
    functionSourceFile: /src/phosphor-host-ipmid/whitelist-filter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AllowlistFilter(const AllowlistFilter&)
  - 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: ipmi::AllowlistFilter::AllowlistFilter
    functionSourceFile: /src/phosphor-host-ipmid/whitelist-filter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AllowlistFilter(AllowlistFilter&&)
  - 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 AllowlistFilter&)'
    functionSourceFile: /src/phosphor-host-ipmid/whitelist-filter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AllowlistFilter
    signature: AllowlistFilter & operator=(const AllowlistFilter&)
  - 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=(AllowlistFilter&&)'
    functionSourceFile: /src/phosphor-host-ipmid/whitelist-filter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AllowlistFilter
    signature: AllowlistFilter & operator=(AllowlistFilter&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSdBus
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:59,1
    - Dst: lg2::info
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:61,1
    - Dst: ipmi::registerFilter
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:62,1
    - Dst: ipmi::AllowlistFilter::filterMessage
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:64,1
    - Dst: post_work
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:68,1
    - Dst: ipmi::AllowlistFilter::postInit
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 69
    functionName: ipmi::AllowlistFilter::AllowlistFilter
    functionSourceFile: /src/phosphor-host-ipmid/whitelist-filter.cpp
    functionUses: 0
    functionsReached:
    - ipmi::AllowlistFilter::filterMessage
    - ipmi::registerFilter
    - post_work
    - getSdBus
    - lg2::info
    - ipmi::AllowlistFilter::postInit
    linkageType: ''
    returnType: void
    signature: void AllowlistFilter::AllowlistFilter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:90,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:94,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:102,1
    - Dst: std::get<std::string>
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:105,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:109,1
    - Dst: std::distance
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:111,1
    - Dst: std::begin
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:111,1
    - Dst: RestrictionMode::convertModesFromString
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:115,1
    - Dst: emplace_back
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:119,1
    - Dst: lg2::info
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:121,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - ' devices'
    - ' serviceMaps'
    argTypes:
    - std::vector<std::string>
    - std::map<std::string, std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 124
    functionName: ipmi::AllowlistFilter::cacheRestrictedMode
    functionSourceFile: /src/phosphor-host-ipmid/whitelist-filter.cpp
    functionUses: 2
    functionsReached:
    - std::begin
    - emplace_back
    - std::distance
    - at
    - lg2::info
    - ipmi::getDbusProperty
    - lg2::error
    - RestrictionMode::convertModesFromString
    - std::get<std::string>
    linkageType: ''
    returnType: void
    signature: "void AllowlistFilter::cacheRestrictedMode(\n    const std::vector<std::string>&
      devices,\n    const std::map<std::string, std::string>& serviceMaps)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:138,1
    - Dst: get_path
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:140,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:142,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:144,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:146,1
    - Dst: RestrictionMode::convertModesFromString
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:158,1
    - Dst: std::get<std::string>
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:159,1
    - Dst: lg2::info
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:164,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ' m'
    - ' deviceList'
    argTypes:
    - sdbusplus::message_t
    - std::map<std::string, size_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 168
    functionName: ipmi::AllowlistFilter::handleRestrictedModeChange
    functionSourceFile: /src/phosphor-host-ipmid/whitelist-filter.cpp
    functionUses: 2
    functionsReached:
    - get_path
    - read
    - end
    - find
    - lg2::info
    - lg2::error
    - RestrictionMode::convertModesFromString
    - std::get<std::string>
    linkageType: ''
    returnType: void
    signature: "void AllowlistFilter::handleRestrictedModeChange(\n    sdbusplus::message_t&
      m, const std::map<std::string, size_t>& deviceList)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<settings::Objects>
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:177,1
    - Dst: std::vector<settings::Interface>
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:178,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:181,1
    - Dst: map::at
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:189,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:193,1
    - Dst: ipmi::AllowlistFilter::cacheRestrictedMode
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:198,1
    - Dst: std::vector::size
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:202,1
    - Dst: std::map::emplace
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:204,1
    - Dst: sdbusplus::bus::match::rules::propertiesChangedNamespace
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:210,1
    - Dst: std::make_unique<sdbusplus::bus::match_t>
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:213,1
    - Dst: ipmi::AllowlistFilter::handleRestrictedModeChange
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:215,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 217
    functionName: ipmi::AllowlistFilter::postInit
    functionSourceFile: /src/phosphor-host-ipmid/whitelist-filter.cpp
    functionUses: 3
    functionsReached:
    - std::vector<settings::Interface>
    - std::map::emplace
    - std::vector::size
    - sdbusplus::bus::match::rules::propertiesChangedNamespace
    - std::make_unique<sdbusplus::bus::match_t>
    - ipmi::AllowlistFilter::cacheRestrictedMode
    - map::at
    - lg2::error
    - ipmi::AllowlistFilter::handleRestrictedModeChange
    - std::make_unique<settings::Objects>
    linkageType: ''
    returnType: void
    signature: void AllowlistFilter::postInit()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::binary_search
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:235,1
    - Dst: cbegin
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:236,1
    - Dst: cend
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:236,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:237,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:239,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - request
    argTypes:
    - ipmi::message::Request::ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 248
    functionName: ipmi::AllowlistFilter::filterMessage
    functionSourceFile: /src/phosphor-host-ipmid/whitelist-filter.cpp
    functionUses: 3
    functionsReached:
    - std::make_pair
    - cend
    - std::binary_search
    - cbegin
    - lg2::error
    linkageType: ''
    returnType: ipmi::Cc
    signature: ipmi::Cc AllowlistFilter::filterMessage(ipmi::message::Request::ptr
      request)
  - 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: ~AllowlistFilter()
    functionSourceFile: /src/phosphor-host-ipmid/whitelist-filter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~AllowlistFilter()
  - 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: ipmi::AllowlistFilter::AllowlistFilter
    functionSourceFile: /src/phosphor-host-ipmid/whitelist-filter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AllowlistFilter(const AllowlistFilter&)
  - 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: ipmi::AllowlistFilter::AllowlistFilter
    functionSourceFile: /src/phosphor-host-ipmid/whitelist-filter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AllowlistFilter(AllowlistFilter&&)
  - 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 AllowlistFilter&)'
    functionSourceFile: /src/phosphor-host-ipmid/whitelist-filter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AllowlistFilter
    signature: AllowlistFilter & operator=(const AllowlistFilter&)
  - 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=(AllowlistFilter&&)'
    functionSourceFile: /src/phosphor-host-ipmid/whitelist-filter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AllowlistFilter
    signature: AllowlistFilter & operator=(AllowlistFilter&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSdBus
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:59,1
    - Dst: lg2::info
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:61,1
    - Dst: ipmi::registerFilter
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:62,1
    - Dst: ipmi::AllowlistFilter::filterMessage
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:64,1
    - Dst: post_work
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:68,1
    - Dst: ipmi::AllowlistFilter::postInit
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 69
    functionName: ipmi::AllowlistFilter::AllowlistFilter
    functionSourceFile: /src/phosphor-host-ipmid/whitelist-filter.cpp
    functionUses: 0
    functionsReached:
    - ipmi::AllowlistFilter::filterMessage
    - ipmi::registerFilter
    - post_work
    - getSdBus
    - lg2::info
    - ipmi::AllowlistFilter::postInit
    linkageType: ''
    returnType: void
    signature: void AllowlistFilter::AllowlistFilter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:90,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:94,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:102,1
    - Dst: std::get<std::string>
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:105,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:109,1
    - Dst: std::distance
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:111,1
    - Dst: std::begin
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:111,1
    - Dst: RestrictionMode::convertModesFromString
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:115,1
    - Dst: emplace_back
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:119,1
    - Dst: lg2::info
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:121,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - ' devices'
    - ' serviceMaps'
    argTypes:
    - std::vector<std::string>
    - std::map<std::string, std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 124
    functionName: ipmi::AllowlistFilter::cacheRestrictedMode
    functionSourceFile: /src/phosphor-host-ipmid/whitelist-filter.cpp
    functionUses: 3
    functionsReached:
    - std::begin
    - emplace_back
    - std::distance
    - at
    - lg2::info
    - ipmi::getDbusProperty
    - lg2::error
    - RestrictionMode::convertModesFromString
    - std::get<std::string>
    linkageType: ''
    returnType: void
    signature: "void AllowlistFilter::cacheRestrictedMode(\n    const std::vector<std::string>&
      devices,\n    const std::map<std::string, std::string>& serviceMaps)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:138,1
    - Dst: get_path
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:140,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:142,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:144,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:146,1
    - Dst: RestrictionMode::convertModesFromString
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:158,1
    - Dst: std::get<std::string>
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:159,1
    - Dst: lg2::info
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:164,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ' m'
    - ' deviceList'
    argTypes:
    - sdbusplus::message_t
    - std::map<std::string, size_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 168
    functionName: ipmi::AllowlistFilter::handleRestrictedModeChange
    functionSourceFile: /src/phosphor-host-ipmid/whitelist-filter.cpp
    functionUses: 3
    functionsReached:
    - get_path
    - read
    - end
    - find
    - lg2::info
    - lg2::error
    - RestrictionMode::convertModesFromString
    - std::get<std::string>
    linkageType: ''
    returnType: void
    signature: "void AllowlistFilter::handleRestrictedModeChange(\n    sdbusplus::message_t&
      m, const std::map<std::string, size_t>& deviceList)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<settings::Objects>
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:177,1
    - Dst: std::vector<settings::Interface>
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:178,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:181,1
    - Dst: map::at
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:189,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:193,1
    - Dst: ipmi::AllowlistFilter::cacheRestrictedMode
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:198,1
    - Dst: std::vector::size
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:202,1
    - Dst: std::map::emplace
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:204,1
    - Dst: sdbusplus::bus::match::rules::propertiesChangedNamespace
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:210,1
    - Dst: std::make_unique<sdbusplus::bus::match_t>
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:213,1
    - Dst: ipmi::AllowlistFilter::handleRestrictedModeChange
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:215,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 217
    functionName: ipmi::AllowlistFilter::postInit
    functionSourceFile: /src/phosphor-host-ipmid/whitelist-filter.cpp
    functionUses: 4
    functionsReached:
    - std::vector<settings::Interface>
    - std::map::emplace
    - std::vector::size
    - sdbusplus::bus::match::rules::propertiesChangedNamespace
    - std::make_unique<sdbusplus::bus::match_t>
    - ipmi::AllowlistFilter::cacheRestrictedMode
    - map::at
    - lg2::error
    - ipmi::AllowlistFilter::handleRestrictedModeChange
    - std::make_unique<settings::Objects>
    linkageType: ''
    returnType: void
    signature: void AllowlistFilter::postInit()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::binary_search
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:235,1
    - Dst: cbegin
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:236,1
    - Dst: cend
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:236,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:237,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/whitelist-filter.cpp:239,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - request
    argTypes:
    - ipmi::message::Request::ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 248
    functionName: ipmi::AllowlistFilter::filterMessage
    functionSourceFile: /src/phosphor-host-ipmid/whitelist-filter.cpp
    functionUses: 4
    functionsReached:
    - std::make_pair
    - cend
    - std::binary_search
    - cbegin
    - lg2::error
    linkageType: ''
    returnType: ipmi::Cc
    signature: ipmi::Cc AllowlistFilter::filterMessage(ipmi::message::Request::ptr
      request)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::responseInvalidCommand
      Src: /src/phosphor-host-ipmid/systemintfcmds.cpp:40,1
    - Dst: std::ifstream::is_open
      Src: /src/phosphor-host-ipmid/systemintfcmds.cpp:52,1
    - Dst: nlohmann::json::parse
      Src: /src/phosphor-host-ipmid/systemintfcmds.cpp:54,1
    - Dst: auto::is_discarded
      Src: /src/phosphor-host-ipmid/systemintfcmds.cpp:55,1
    - Dst: auto::value
      Src: /src/phosphor-host-ipmid/systemintfcmds.cpp:57,1
    - Dst: ipmid_get_host_cmd_manager
      Src: /src/phosphor-host-ipmid/systemintfcmds.cpp:69,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/systemintfcmds.cpp:72,1
    - Dst: std::to_array<uint8_t>
      Src: /src/phosphor-host-ipmid/systemintfcmds.cpp:74,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - ' ctx'
    argTypes:
    - ipmi::Context::ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 75
    functionName: ipmiAppReadEventBuffer
    functionSourceFile: /src/phosphor-host-ipmid/systemintfcmds.cpp
    functionUses: 0
    functionsReached:
    - auto::is_discarded
    - ipmi::responseSuccess
    - std::ifstream::is_open
    - nlohmann::json::parse
    - auto::value
    - ipmi::responseInvalidCommand
    - ipmid_get_host_cmd_manager
    - std::to_array<uint8_t>
    linkageType: ''
    returnType: "ipmi::RspType<uint16_t,              // id\n              uint8_t,
      \              // type\n              uint24_t,              //  manuf_id\n
      \             uint32_t,              // timestamp\n              uint8_t,               //
      netfun\n              uint8_t,               // cmd\n              std::array<uint8_t,
      4> // data\n              >"
    signature: "ipmi::RspType<uint16_t,              // id\n              uint8_t,
      \              // type\n              uint24_t,              //  manuf_id\n
      \             uint32_t,              // timestamp\n              uint8_t,               //
      netfun\n              uint8_t,               // cmd\n              std::array<uint8_t,
      4> // data\n              > ipmiAppReadEventBuffer(ipmi::Context::ptr& ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/systemintfcmds.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 91
    functionName: ipmiAppGetMessageFlags
    functionSourceFile: /src/phosphor-host-ipmid/systemintfcmds.cpp
    functionUses: 0
    functionsReached:
    - ipmi::responseSuccess
    linkageType: ''
    returnType: ipmi::RspType<uint8_t>
    signature: ipmi::RspType<uint8_t> ipmiAppGetMessageFlags()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/systemintfcmds.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 106
    functionName: ipmiAppGetBMCGlobalEnable
    functionSourceFile: /src/phosphor-host-ipmid/systemintfcmds.cpp
    functionUses: 0
    functionsReached:
    - ipmi::responseSuccess
    linkageType: ''
    returnType: "ipmi::RspType<bool,    // Receive Message Queue Interrupt Enabled\n
      \             bool,    // Event Message Buffer Full Interrupt Enabled\n              bool,
      \   // Event Message Buffer Enabled\n              bool,    // System Event
      Logging Enabled\n              uint1_t, // Reserved\n              bool,    //
      OEM 0 enabled\n              bool,    // OEM 1 enabled\n              bool     //
      OEM 2 enabled\n              >"
    signature: "ipmi::RspType<bool,    // Receive Message Queue Interrupt Enabled\n
      \             bool,    // Event Message Buffer Full Interrupt Enabled\n              bool,
      \   // Event Message Buffer Enabled\n              bool,    // System Event
      Logging Enabled\n              uint1_t, // Reserved\n              bool,    //
      OEM 0 enabled\n              bool,    // OEM 1 enabled\n              bool     //
      OEM 2 enabled\n              > ipmiAppGetBMCGlobalEnable()"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getChannelInfo
      Src: /src/phosphor-host-ipmid/systemintfcmds.cpp:116,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/systemintfcmds.cpp:118,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/systemintfcmds.cpp:120,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/systemintfcmds.cpp:124,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/systemintfcmds.cpp:126,1
    - Dst: ipmi::responseCommandNotAvailable
      Src: /src/phosphor-host-ipmid/systemintfcmds.cpp:127,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/systemintfcmds.cpp:137,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/systemintfcmds.cpp:140,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 9
    argNames:
    - ctx
    - receiveMessageQueueInterruptEnabled
    - eventMessageBufferFullInterruptEnabled
    - eventMessageBufferEnabled
    - systemEventLogEnable
    - reserved
    - OEM0Enabled
    - OEM1Enabled
    - OEM2Enabled
    argTypes:
    - ipmi::Context::ptr
    - bool
    - bool
    - bool
    - bool
    - uint1_t
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 141
    functionName: ipmiAppSetBMCGlobalEnable
    functionSourceFile: /src/phosphor-host-ipmid/systemintfcmds.cpp
    functionUses: 0
    functionsReached:
    - ipmi::responseSuccess
    - ipmi::responseUnspecifiedError
    - ipmi::getChannelInfo
    - static_cast<uint8_t>
    - ipmi::responseInvalidFieldRequest
    - ipmi::responseCommandNotAvailable
    - lg2::error
    linkageType: ''
    returnType: ipmi::RspType<>
    signature: "ipmi::RspType<> ipmiAppSetBMCGlobalEnable(\n    ipmi::Context::ptr
      ctx, bool receiveMessageQueueInterruptEnabled,\n    bool eventMessageBufferFullInterruptEnabled,
      bool eventMessageBufferEnabled,\n    bool systemEventLogEnable, uint1_t reserved,
      bool OEM0Enabled,\n    bool OEM1Enabled, bool OEM2Enabled)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/systemintfcmds.cpp:155,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/systemintfcmds.cpp:160,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/systemintfcmds.cpp:165,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/systemintfcmds.cpp:170,1
    - Dst: ipmid_get_sdbus_plus_handler
      Src: /src/phosphor-host-ipmid/systemintfcmds.cpp:178,1
    - Dst: std::make_unique<sdbusplus::server::manager_t>
      Src: /src/phosphor-host-ipmid/systemintfcmds.cpp:181,1
    - Dst: std::make_unique<phosphor::host::command::Host>
      Src: /src/phosphor-host-ipmid/systemintfcmds.cpp:184,1
    - Dst: auto::c_str
      Src: /src/phosphor-host-ipmid/systemintfcmds.cpp:185,1
    - Dst: request_name
      Src: /src/phosphor-host-ipmid/systemintfcmds.cpp:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 189
    functionName: registerNetFnAppFunctions
    functionSourceFile: /src/phosphor-host-ipmid/systemintfcmds.cpp
    functionUses: 0
    functionsReached:
    - auto::c_str
    - ipmid_get_sdbus_plus_handler
    - request_name
    - std::make_unique<phosphor::host::command::Host>
    - std::make_unique<sdbusplus::server::manager_t>
    - ipmi::registerHandler
    linkageType: ''
    returnType: void
    signature: void registerNetFnAppFunctions()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/oem/nvidia/biosconfigcommands.cpp:48,1
    - Dst: RAND_bytes
      Src: /src/phosphor-host-ipmid/oem/nvidia/biosconfigcommands.cpp:62,1
    - Dst: std::array<uint8_t, biosPasswordSaltSize>::data
      Src: /src/phosphor-host-ipmid/oem/nvidia/biosconfigcommands.cpp:62,1
    - Dst: std::array<uint8_t, biosPasswordSaltSize>::size
      Src: /src/phosphor-host-ipmid/oem/nvidia/biosconfigcommands.cpp:62,1
    - Dst: PKCS5_PBKDF2_HMAC
      Src: /src/phosphor-host-ipmid/oem/nvidia/biosconfigcommands.cpp:64,1
    - Dst: std::array<uint8_t, biosPasswordSaltSize>::data
      Src: /src/phosphor-host-ipmid/oem/nvidia/biosconfigcommands.cpp:64,1
    - Dst: std::array<uint8_t, biosPasswordSaltSize>::size
      Src: /src/phosphor-host-ipmid/oem/nvidia/biosconfigcommands.cpp:64,1
    - Dst: EVP_sha256
      Src: /src/phosphor-host-ipmid/oem/nvidia/biosconfigcommands.cpp:65,1
    - Dst: std::array<uint8_t, biosPasswordMaxHashSize>::data
      Src: /src/phosphor-host-ipmid/oem/nvidia/biosconfigcommands.cpp:65,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/oem/nvidia/biosconfigcommands.cpp:80,1
    - Dst: nlohmann::json::dump
      Src: /src/phosphor-host-ipmid/oem/nvidia/biosconfigcommands.cpp:94,1
    - Dst: std::ofstream::close
      Src: /src/phosphor-host-ipmid/oem/nvidia/biosconfigcommands.cpp:96,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/oem/nvidia/biosconfigcommands.cpp:100,1
    - Dst: what
      Src: /src/phosphor-host-ipmid/oem/nvidia/biosconfigcommands.cpp:101,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/oem/nvidia/biosconfigcommands.cpp:102,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/oem/nvidia/biosconfigcommands.cpp:104,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 4
    argNames:
    - id
    - type
    - salt
    - hash
    argTypes:
    - uint8_t
    - uint8_t
    - std::array<uint8_t, biosPasswordSaltSize>
    - std::array<uint8_t, biosPasswordMaxHashSize>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 105
    functionName: ipmi::ipmiSetBiosPassword
    functionSourceFile: /src/phosphor-host-ipmid/oem/nvidia/biosconfigcommands.cpp
    functionUses: 0
    functionsReached:
    - EVP_sha256
    - ipmi::responseSuccess
    - ipmi::responseUnspecifiedError
    - std::ofstream::close
    - nlohmann::json::dump
    - std::array<uint8_t, biosPasswordSaltSize>::data
    - std::array<uint8_t, biosPasswordMaxHashSize>::data
    - RAND_bytes
    - ipmi::responseInvalidFieldRequest
    - what
    - PKCS5_PBKDF2_HMAC
    - lg2::error
    - std::array<uint8_t, biosPasswordSaltSize>::size
    linkageType: ''
    returnType: ipmi::RspType<>
    signature: "ipmi::RspType<> ipmiSetBiosPassword(\n    uint8_t id, uint8_t type,
      std::array<uint8_t, biosPasswordSaltSize> salt,\n    std::array<uint8_t, biosPasswordMaxHashSize>
      hash)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::responseParmOutOfRange
      Src: /src/phosphor-host-ipmid/oem/nvidia/biosconfigcommands.cpp:119,1
    - Dst: std::ifstream::is_open
      Src: /src/phosphor-host-ipmid/oem/nvidia/biosconfigcommands.cpp:123,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/oem/nvidia/biosconfigcommands.cpp:126,1
    - Dst: nlohmann::json::parse
      Src: /src/phosphor-host-ipmid/oem/nvidia/biosconfigcommands.cpp:135,1
    - Dst: nlohmann::json::is_discarded
      Src: /src/phosphor-host-ipmid/oem/nvidia/biosconfigcommands.cpp:136,1
    - Dst: nlohmann::json::contains
      Src: /src/phosphor-host-ipmid/oem/nvidia/biosconfigcommands.cpp:136,1
    - Dst: nlohmann::json::contains
      Src: /src/phosphor-host-ipmid/oem/nvidia/biosconfigcommands.cpp:137,1
    - Dst: nlohmann::json::contains
      Src: /src/phosphor-host-ipmid/oem/nvidia/biosconfigcommands.cpp:137,1
    - Dst: nlohmann::json::contains
      Src: /src/phosphor-host-ipmid/oem/nvidia/biosconfigcommands.cpp:138,1
    - Dst: ipmi::responseResponseError
      Src: /src/phosphor-host-ipmid/oem/nvidia/biosconfigcommands.cpp:140,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/oem/nvidia/biosconfigcommands.cpp:145,1
    - Dst: EVP_sha256
      Src: /src/phosphor-host-ipmid/oem/nvidia/biosconfigcommands.cpp:152,1
    - Dst: EVP_sha384
      Src: /src/phosphor-host-ipmid/oem/nvidia/biosconfigcommands.cpp:162,1
    - Dst: PKCS5_PBKDF2_HMAC
      Src: /src/phosphor-host-ipmid/oem/nvidia/biosconfigcommands.cpp:167,1
    - Dst: std::array::data
      Src: /src/phosphor-host-ipmid/oem/nvidia/biosconfigcommands.cpp:167,1
    - Dst: std::array::size
      Src: /src/phosphor-host-ipmid/oem/nvidia/biosconfigcommands.cpp:167,1
    - Dst: std::array::data
      Src: /src/phosphor-host-ipmid/oem/nvidia/biosconfigcommands.cpp:168,1
    - Dst: std::array::fill
      Src: /src/phosphor-host-ipmid/oem/nvidia/biosconfigcommands.cpp:172,1
    - Dst: std::array::fill
      Src: /src/phosphor-host-ipmid/oem/nvidia/biosconfigcommands.cpp:173,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/oem/nvidia/biosconfigcommands.cpp:176,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 177
    functionName: ipmi::ipmiGetBiosPassword
    functionSourceFile: /src/phosphor-host-ipmid/oem/nvidia/biosconfigcommands.cpp
    functionUses: 0
    functionsReached:
    - nlohmann::json::contains
    - ipmi::responseResponseError
    - EVP_sha256
    - ipmi::responseSuccess
    - std::ifstream::is_open
    - nlohmann::json::parse
    - nlohmann::json::is_discarded
    - ipmi::responseParmOutOfRange
    - std::array::data
    - std::array::fill
    - std::array::size
    - PKCS5_PBKDF2_HMAC
    - EVP_sha384
    linkageType: ''
    returnType: "ipmi::RspType<uint8_t,                                     // action\n
      \             std::array<uint8_t, biosPasswordSaltSize>,   // salt\n              std::array<uint8_t,
      biosPasswordMaxHashSize> // hash\n              >"
    signature: "ipmi::RspType<uint8_t,                                     // action\n
      \             std::array<uint8_t, biosPasswordSaltSize>,   // salt\n              std::array<uint8_t,
      biosPasswordMaxHashSize> // hash\n              > ipmiGetBiosPassword(uint8_t
      id)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/oem/nvidia/biosconfigcommands.cpp:48,1
    - Dst: RAND_bytes
      Src: /src/phosphor-host-ipmid/oem/nvidia/biosconfigcommands.cpp:62,1
    - Dst: std::array<uint8_t, biosPasswordSaltSize>::data
      Src: /src/phosphor-host-ipmid/oem/nvidia/biosconfigcommands.cpp:62,1
    - Dst: std::array<uint8_t, biosPasswordSaltSize>::size
      Src: /src/phosphor-host-ipmid/oem/nvidia/biosconfigcommands.cpp:62,1
    - Dst: PKCS5_PBKDF2_HMAC
      Src: /src/phosphor-host-ipmid/oem/nvidia/biosconfigcommands.cpp:64,1
    - Dst: std::array<uint8_t, biosPasswordSaltSize>::data
      Src: /src/phosphor-host-ipmid/oem/nvidia/biosconfigcommands.cpp:64,1
    - Dst: std::array<uint8_t, biosPasswordSaltSize>::size
      Src: /src/phosphor-host-ipmid/oem/nvidia/biosconfigcommands.cpp:64,1
    - Dst: EVP_sha256
      Src: /src/phosphor-host-ipmid/oem/nvidia/biosconfigcommands.cpp:65,1
    - Dst: std::array<uint8_t, biosPasswordMaxHashSize>::data
      Src: /src/phosphor-host-ipmid/oem/nvidia/biosconfigcommands.cpp:65,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/oem/nvidia/biosconfigcommands.cpp:80,1
    - Dst: nlohmann::json::dump
      Src: /src/phosphor-host-ipmid/oem/nvidia/biosconfigcommands.cpp:94,1
    - Dst: std::ofstream::close
      Src: /src/phosphor-host-ipmid/oem/nvidia/biosconfigcommands.cpp:96,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/oem/nvidia/biosconfigcommands.cpp:100,1
    - Dst: what
      Src: /src/phosphor-host-ipmid/oem/nvidia/biosconfigcommands.cpp:101,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/oem/nvidia/biosconfigcommands.cpp:102,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/oem/nvidia/biosconfigcommands.cpp:104,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 4
    argNames:
    - id
    - type
    - salt
    - hash
    argTypes:
    - uint8_t
    - uint8_t
    - std::array<uint8_t, biosPasswordSaltSize>
    - std::array<uint8_t, biosPasswordMaxHashSize>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 105
    functionName: ipmi::ipmiSetBiosPassword
    functionSourceFile: /src/phosphor-host-ipmid/oem/nvidia/biosconfigcommands.cpp
    functionUses: 0
    functionsReached:
    - EVP_sha256
    - ipmi::responseSuccess
    - ipmi::responseUnspecifiedError
    - std::ofstream::close
    - nlohmann::json::dump
    - std::array<uint8_t, biosPasswordSaltSize>::data
    - std::array<uint8_t, biosPasswordMaxHashSize>::data
    - RAND_bytes
    - ipmi::responseInvalidFieldRequest
    - what
    - PKCS5_PBKDF2_HMAC
    - lg2::error
    - std::array<uint8_t, biosPasswordSaltSize>::size
    linkageType: ''
    returnType: ipmi::RspType<>
    signature: "ipmi::RspType<> ipmiSetBiosPassword(\n    uint8_t id, uint8_t type,
      std::array<uint8_t, biosPasswordSaltSize> salt,\n    std::array<uint8_t, biosPasswordMaxHashSize>
      hash)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::responseParmOutOfRange
      Src: /src/phosphor-host-ipmid/oem/nvidia/biosconfigcommands.cpp:119,1
    - Dst: std::ifstream::is_open
      Src: /src/phosphor-host-ipmid/oem/nvidia/biosconfigcommands.cpp:123,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/oem/nvidia/biosconfigcommands.cpp:126,1
    - Dst: nlohmann::json::parse
      Src: /src/phosphor-host-ipmid/oem/nvidia/biosconfigcommands.cpp:135,1
    - Dst: nlohmann::json::is_discarded
      Src: /src/phosphor-host-ipmid/oem/nvidia/biosconfigcommands.cpp:136,1
    - Dst: nlohmann::json::contains
      Src: /src/phosphor-host-ipmid/oem/nvidia/biosconfigcommands.cpp:136,1
    - Dst: nlohmann::json::contains
      Src: /src/phosphor-host-ipmid/oem/nvidia/biosconfigcommands.cpp:137,1
    - Dst: nlohmann::json::contains
      Src: /src/phosphor-host-ipmid/oem/nvidia/biosconfigcommands.cpp:137,1
    - Dst: nlohmann::json::contains
      Src: /src/phosphor-host-ipmid/oem/nvidia/biosconfigcommands.cpp:138,1
    - Dst: ipmi::responseResponseError
      Src: /src/phosphor-host-ipmid/oem/nvidia/biosconfigcommands.cpp:140,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/oem/nvidia/biosconfigcommands.cpp:145,1
    - Dst: EVP_sha256
      Src: /src/phosphor-host-ipmid/oem/nvidia/biosconfigcommands.cpp:152,1
    - Dst: EVP_sha384
      Src: /src/phosphor-host-ipmid/oem/nvidia/biosconfigcommands.cpp:162,1
    - Dst: PKCS5_PBKDF2_HMAC
      Src: /src/phosphor-host-ipmid/oem/nvidia/biosconfigcommands.cpp:167,1
    - Dst: std::array::data
      Src: /src/phosphor-host-ipmid/oem/nvidia/biosconfigcommands.cpp:167,1
    - Dst: std::array::size
      Src: /src/phosphor-host-ipmid/oem/nvidia/biosconfigcommands.cpp:167,1
    - Dst: std::array::data
      Src: /src/phosphor-host-ipmid/oem/nvidia/biosconfigcommands.cpp:168,1
    - Dst: std::array::fill
      Src: /src/phosphor-host-ipmid/oem/nvidia/biosconfigcommands.cpp:172,1
    - Dst: std::array::fill
      Src: /src/phosphor-host-ipmid/oem/nvidia/biosconfigcommands.cpp:173,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/oem/nvidia/biosconfigcommands.cpp:176,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 177
    functionName: ipmi::ipmiGetBiosPassword
    functionSourceFile: /src/phosphor-host-ipmid/oem/nvidia/biosconfigcommands.cpp
    functionUses: 0
    functionsReached:
    - nlohmann::json::contains
    - ipmi::responseResponseError
    - EVP_sha256
    - ipmi::responseSuccess
    - std::ifstream::is_open
    - nlohmann::json::parse
    - nlohmann::json::is_discarded
    - ipmi::responseParmOutOfRange
    - std::array::data
    - std::array::fill
    - std::array::size
    - PKCS5_PBKDF2_HMAC
    - EVP_sha384
    linkageType: ''
    returnType: "ipmi::RspType<uint8_t,                                     // action\n
      \             std::array<uint8_t, biosPasswordSaltSize>,   // salt\n              std::array<uint8_t,
      biosPasswordMaxHashSize> // hash\n              >"
    signature: "ipmi::RspType<uint8_t,                                     // action\n
      \             std::array<uint8_t, biosPasswordSaltSize>,   // salt\n              std::array<uint8_t,
      biosPasswordMaxHashSize> // hash\n              > ipmiGetBiosPassword(uint8_t
      id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/oem/nvidia/biosconfigcommands.cpp:182,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/oem/nvidia/biosconfigcommands.cpp:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 188
    functionName: registerBiosConfigCommands
    functionSourceFile: /src/phosphor-host-ipmid/oem/nvidia/biosconfigcommands.cpp
    functionUses: 0
    functionsReached:
    - ipmi::registerHandler
    linkageType: ''
    returnType: void
    signature: void registerBiosConfigCommands()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:33,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:33,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:34,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:38,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:38,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:39,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:41,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - type
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 42
    functionName: ipmi::ipmiGetUsbVendorIdProductId
    functionSourceFile: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp
    functionUses: 0
    functionsReached:
    - ipmi::responseInvalidFieldRequest
    - static_cast<uint8_t>
    - ipmi::responseSuccess
    linkageType: ''
    returnType: ipmi::RspType<uint8_t, uint8_t>
    signature: ipmi::RspType<uint8_t, uint8_t> ipmiGetUsbVendorIdProductId(uint8_t
      type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::Payload::pack
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:48,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 50
    functionName: ipmi::ipmiGetUsbSerialNumber
    functionSourceFile: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp
    functionUses: 0
    functionsReached:
    - ipmi::message::Payload::pack
    - ipmi::responseSuccess
    linkageType: ''
    returnType: ipmi::RspType<ipmi::message::Payload>
    signature: ipmi::RspType<ipmi::message::Payload> ipmiGetUsbSerialNumber()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:60,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:63,1
    - Dst: boost::system::error_code::message
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:65,1
    - Dst: ipmi::responseResponseError
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:66,1
    - Dst: ipmi::getDbusProperty<std::string>
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:70,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:75,1
    - Dst: boost::system::error_code::message
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:77,1
    - Dst: ipmi::responseResponseError
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:78,1
    - Dst: ipmi::message::Payload::pack
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:81,1
    - Dst: std::vector<uint8_t>
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:82,1
    - Dst: std::string::begin
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:82,1
    - Dst: std::string::end
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:82,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - ipmi::Context::ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 84
    functionName: ipmi::ipmiGetRedfishHostName
    functionSourceFile: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp
    functionUses: 0
    functionsReached:
    - ipmi::responseResponseError
    - ipmi::responseSuccess
    - ipmi::getService
    - boost::system::error_code::message
    - ipmi::message::Payload::pack
    - std::string::end
    - std::string::begin
    - std::vector<uint8_t>
    - ipmi::getDbusProperty<std::string>
    - lg2::error
    linkageType: ''
    returnType: ipmi::RspType<ipmi::message::Payload>
    signature: "ipmi::RspType<ipmi::message::Payload> ipmiGetRedfishHostName(\n    ipmi::Context::ptr
      ctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getChannelByName
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:89,1
    - Dst: ipmi::getChannelInfo
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:91,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:94,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:97,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:101,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:103,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:105,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:108,1
    - Dst: ipmi::responseSensorInvalid
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:111,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:113,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:113,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 114
    functionName: ipmi::ipmiGetIpmiChannelRfHi
    functionSourceFile: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp
    functionUses: 0
    functionsReached:
    - ipmi::getChannelByName
    - ipmi::responseSuccess
    - ipmi::responseUnspecifiedError
    - ipmi::getChannelInfo
    - static_cast<uint8_t>
    - ipmi::responseSensorInvalid
    - lg2::error
    linkageType: ''
    returnType: ipmi::RspType<uint8_t>
    signature: ipmi::RspType<uint8_t> ipmiGetIpmiChannelRfHi()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::ifstream::is_open
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:121,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:123,1
    - Dst: nlohmann::json::parse
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:126,1
    - Dst: auto::is_discarded
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:127,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:129,1
    - Dst: auto::find
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:133,1
    - Dst: auto::end
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:133,1
    - Dst: auto::is_string
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:133,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:139,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - ' rfUuid'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 142
    functionName: ipmi::getRfUuid
    functionSourceFile: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp
    functionUses: 0
    functionsReached:
    - auto::is_discarded
    - std::ifstream::is_open
    - nlohmann::json::parse
    - auto::is_string
    - auto::end
    - auto::find
    - lg2::error
    linkageType: ''
    returnType: bool
    signature: bool getRfUuid(std::string& rfUuid)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getRfUuid
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:147,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:150,1
    - Dst: ipmi::responseResponseError
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:152,1
    - Dst: ipmi::split
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:162,1
    - Dst: std::vector::size
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:164,1
    - Dst: std::reverse
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:169,1
    - Dst: auto::begin
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:169,1
    - Dst: auto::end
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:169,1
    - Dst: auto::size
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:172,1
    - Dst: std::swap
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:176,1
    - Dst: ipmi::tryParse
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:180,1
    - Dst: auto::substr
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:180,1
    - Dst: std::vector::push_back
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:182,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:186,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 187
    functionName: ipmi::ipmiGetRedfishServiceUUID
    functionSourceFile: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp
    functionUses: 0
    functionsReached:
    - ipmi::responseResponseError
    - std::vector::push_back
    - ipmi::responseSuccess
    - std::swap
    - auto::substr
    - std::vector::size
    - ipmi::getRfUuid
    - std::reverse
    - ipmi::split
    - ipmi::tryParse
    - auto::begin
    - auto::size
    - auto::end
    - lg2::error
    linkageType: ''
    returnType: ipmi::RspType<std::vector<uint8_t>>
    signature: ipmi::RspType<std::vector<uint8_t>> ipmiGetRedfishServiceUUID()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:192,1
    - Dst: htons
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 193
    functionName: ipmi::ipmiGetRedfishServicePort
    functionSourceFile: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp
    functionUses: 0
    functionsReached:
    - ipmi::responseSuccess
    - htons
    linkageType: ''
    returnType: ipmi::RspType<uint16_t>
    signature: ipmi::RspType<uint16_t> ipmiGetRedfishServicePort()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:33,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:33,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:34,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:38,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:38,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:39,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:41,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - type
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 42
    functionName: ipmi::ipmiGetUsbVendorIdProductId
    functionSourceFile: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp
    functionUses: 0
    functionsReached:
    - ipmi::responseInvalidFieldRequest
    - static_cast<uint8_t>
    - ipmi::responseSuccess
    linkageType: ''
    returnType: ipmi::RspType<uint8_t, uint8_t>
    signature: ipmi::RspType<uint8_t, uint8_t> ipmiGetUsbVendorIdProductId(uint8_t
      type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::Payload::pack
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:48,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 50
    functionName: ipmi::ipmiGetUsbSerialNumber
    functionSourceFile: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp
    functionUses: 0
    functionsReached:
    - ipmi::message::Payload::pack
    - ipmi::responseSuccess
    linkageType: ''
    returnType: ipmi::RspType<ipmi::message::Payload>
    signature: ipmi::RspType<ipmi::message::Payload> ipmiGetUsbSerialNumber()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:60,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:63,1
    - Dst: boost::system::error_code::message
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:65,1
    - Dst: ipmi::responseResponseError
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:66,1
    - Dst: ipmi::getDbusProperty<std::string>
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:70,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:75,1
    - Dst: boost::system::error_code::message
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:77,1
    - Dst: ipmi::responseResponseError
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:78,1
    - Dst: ipmi::message::Payload::pack
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:81,1
    - Dst: std::vector<uint8_t>
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:82,1
    - Dst: std::string::begin
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:82,1
    - Dst: std::string::end
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:82,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - ipmi::Context::ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 84
    functionName: ipmi::ipmiGetRedfishHostName
    functionSourceFile: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp
    functionUses: 0
    functionsReached:
    - ipmi::responseResponseError
    - ipmi::responseSuccess
    - ipmi::getService
    - boost::system::error_code::message
    - ipmi::message::Payload::pack
    - std::string::end
    - std::string::begin
    - std::vector<uint8_t>
    - ipmi::getDbusProperty<std::string>
    - lg2::error
    linkageType: ''
    returnType: ipmi::RspType<ipmi::message::Payload>
    signature: "ipmi::RspType<ipmi::message::Payload> ipmiGetRedfishHostName(\n    ipmi::Context::ptr
      ctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getChannelByName
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:89,1
    - Dst: ipmi::getChannelInfo
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:91,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:94,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:97,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:101,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:103,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:105,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:108,1
    - Dst: ipmi::responseSensorInvalid
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:111,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:113,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:113,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 114
    functionName: ipmi::ipmiGetIpmiChannelRfHi
    functionSourceFile: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp
    functionUses: 0
    functionsReached:
    - ipmi::getChannelByName
    - ipmi::responseSuccess
    - ipmi::responseUnspecifiedError
    - ipmi::getChannelInfo
    - static_cast<uint8_t>
    - ipmi::responseSensorInvalid
    - lg2::error
    linkageType: ''
    returnType: ipmi::RspType<uint8_t>
    signature: ipmi::RspType<uint8_t> ipmiGetIpmiChannelRfHi()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::ifstream::is_open
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:121,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:123,1
    - Dst: nlohmann::json::parse
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:126,1
    - Dst: auto::is_discarded
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:127,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:129,1
    - Dst: auto::find
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:133,1
    - Dst: auto::end
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:133,1
    - Dst: auto::is_string
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:133,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:139,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - ' rfUuid'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 142
    functionName: ipmi::getRfUuid
    functionSourceFile: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp
    functionUses: 1
    functionsReached:
    - auto::is_discarded
    - std::ifstream::is_open
    - nlohmann::json::parse
    - auto::is_string
    - auto::end
    - auto::find
    - lg2::error
    linkageType: ''
    returnType: bool
    signature: bool getRfUuid(std::string& rfUuid)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getRfUuid
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:147,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:150,1
    - Dst: ipmi::responseResponseError
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:152,1
    - Dst: ipmi::split
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:162,1
    - Dst: std::vector::size
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:164,1
    - Dst: std::reverse
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:169,1
    - Dst: auto::begin
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:169,1
    - Dst: auto::end
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:169,1
    - Dst: auto::size
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:172,1
    - Dst: std::swap
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:176,1
    - Dst: ipmi::tryParse
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:180,1
    - Dst: auto::substr
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:180,1
    - Dst: std::vector::push_back
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:182,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:186,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 187
    functionName: ipmi::ipmiGetRedfishServiceUUID
    functionSourceFile: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp
    functionUses: 0
    functionsReached:
    - ipmi::responseResponseError
    - std::vector::push_back
    - ipmi::responseSuccess
    - std::swap
    - auto::substr
    - std::vector::size
    - ipmi::getRfUuid
    - std::reverse
    - ipmi::split
    - ipmi::tryParse
    - auto::begin
    - auto::size
    - auto::end
    - lg2::error
    linkageType: ''
    returnType: ipmi::RspType<std::vector<uint8_t>>
    signature: ipmi::RspType<std::vector<uint8_t>> ipmiGetRedfishServiceUUID()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:192,1
    - Dst: htons
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 193
    functionName: ipmi::ipmiGetRedfishServicePort
    functionSourceFile: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp
    functionUses: 0
    functionsReached:
    - ipmi::responseSuccess
    - htons
    linkageType: ''
    returnType: ipmi::RspType<uint16_t>
    signature: ipmi::RspType<uint16_t> ipmiGetRedfishServicePort()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:199,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:204,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:209,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:214,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:219,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 228
    functionName: registerBootstrapCredentialsOemCommands
    functionSourceFile: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp
    functionUses: 0
    functionsReached:
    - ipmi::registerHandler
    linkageType: ''
    returnType: void
    signature: void registerBootstrapCredentialsOemCommands()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getAllDbusObjects
      Src: /src/phosphor-host-ipmid/oem/example/apphandler.cpp:61,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/oem/example/apphandler.cpp:66,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/oem/example/apphandler.cpp:70,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/oem/example/apphandler.cpp:76,1
    - Dst: ipmi::getManagedObjects
      Src: /src/phosphor-host-ipmid/oem/example/apphandler.cpp:78,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/oem/example/apphandler.cpp:88,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/oem/example/apphandler.cpp:89,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/oem/example/apphandler.cpp:90,1
    - Dst: std::get<uint8_t>
      Src: /src/phosphor-host-ipmid/oem/example/apphandler.cpp:91,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/oem/example/apphandler.cpp:91,1
    - Dst: std::get<std::string>
      Src: /src/phosphor-host-ipmid/oem/example/apphandler.cpp:93,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/oem/example/apphandler.cpp:94,1
    - Dst: std::get<std::string>
      Src: /src/phosphor-host-ipmid/oem/example/apphandler.cpp:95,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/oem/example/apphandler.cpp:96,1
    - Dst: std::get<std::string>
      Src: /src/phosphor-host-ipmid/oem/example/apphandler.cpp:97,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/oem/example/apphandler.cpp:98,1
    - Dst: Version::convertVersionPurposeFromString
      Src: /src/phosphor-host-ipmid/oem/example/apphandler.cpp:99,1
    - Dst: Activation::convertActivationsFromString
      Src: /src/phosphor-host-ipmid/oem/example/apphandler.cpp:101,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/oem/example/apphandler.cpp:108,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/oem/example/apphandler.cpp:114,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/oem/example/apphandler.cpp:121,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/oem/example/apphandler.cpp:122,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - ipmi::Context::ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 126
    functionName: getActiveSoftwareVersionInfo
    functionSourceFile: /src/phosphor-host-ipmid/oem/example/apphandler.cpp
    functionUses: 1
    functionsReached:
    - ipmi::getAllDbusObjects
    - ipmi::getManagedObjects
    - ipmi::getService
    - std::get<uint8_t>
    - Version::convertVersionPurposeFromString
    - at
    - elog<InternalFailure>
    - Activation::convertActivationsFromString
    - std::move
    - lg2::error
    - std::get<std::string>
    linkageType: ''
    returnType: std::string
    signature: std::string getActiveSoftwareVersionInfo(ipmi::Context::ptr ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getDbusObject
      Src: /src/phosphor-host-ipmid/oem/example/apphandler.cpp:134,1
    - Dst: boost::system::error_code::value
      Src: /src/phosphor-host-ipmid/oem/example/apphandler.cpp:136,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/oem/example/apphandler.cpp:140,1
    - Dst: boost::system::error_code::value
      Src: /src/phosphor-host-ipmid/oem/example/apphandler.cpp:143,1
    - Dst: BMCState::convertBMCStateFromString
      Src: /src/phosphor-host-ipmid/oem/example/apphandler.cpp:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' ctx'
    - fallbackAvailability
    argTypes:
    - ipmi::Context::ptr
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 149
    functionName: getCurrentBmcStateWithFallback
    functionSourceFile: /src/phosphor-host-ipmid/oem/example/apphandler.cpp
    functionUses: 1
    functionsReached:
    - boost::system::error_code::value
    - ipmi::getDbusProperty
    - ipmi::getDbusObject
    - BMCState::convertBMCStateFromString
    linkageType: ''
    returnType: bool
    signature: "bool getCurrentBmcStateWithFallback(ipmi::Context::ptr& ctx,\n                                    const
      bool fallbackAvailability)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: std::regex_search
      Src: /src/phosphor-host-ipmid/oem/example/apphandler.cpp:203,1
    - Dst: std::smatch::size
      Src: /src/phosphor-host-ipmid/oem/example/apphandler.cpp:205,1
    - Dst: std::max_element
      Src: /src/phosphor-host-ipmid/oem/example/apphandler.cpp:205,1
    - Dst: std::vector::begin
      Src: /src/phosphor-host-ipmid/oem/example/apphandler.cpp:205,1
    - Dst: std::vector::end
      Src: /src/phosphor-host-ipmid/oem/example/apphandler.cpp:205,1
    - Dst: str
      Src: /src/phosphor-host-ipmid/oem/example/apphandler.cpp:212,1
    - Dst: std::from_chars
      Src: /src/phosphor-host-ipmid/oem/example/apphandler.cpp:214,1
    - Dst: std::string::data
      Src: /src/phosphor-host-ipmid/oem/example/apphandler.cpp:214,1
    - Dst: std::string::data
      Src: /src/phosphor-host-ipmid/oem/example/apphandler.cpp:214,1
    - Dst: std::string::size
      Src: /src/phosphor-host-ipmid/oem/example/apphandler.cpp:214,1
    - Dst: std::errc
      Src: /src/phosphor-host-ipmid/oem/example/apphandler.cpp:215,1
    - Dst: std::string::data
      Src: /src/phosphor-host-ipmid/oem/example/apphandler.cpp:215,1
    - Dst: std::string::size
      Src: /src/phosphor-host-ipmid/oem/example/apphandler.cpp:215,1
    - Dst: str
      Src: /src/phosphor-host-ipmid/oem/example/apphandler.cpp:235,1
    - Dst: std::from_chars
      Src: /src/phosphor-host-ipmid/oem/example/apphandler.cpp:237,1
    - Dst: std::string::data
      Src: /src/phosphor-host-ipmid/oem/example/apphandler.cpp:237,1
    - Dst: std::string::data
      Src: /src/phosphor-host-ipmid/oem/example/apphandler.cpp:237,1
    - Dst: std::string::size
      Src: /src/phosphor-host-ipmid/oem/example/apphandler.cpp:237,1
    - Dst: std::errc
      Src: /src/phosphor-host-ipmid/oem/example/apphandler.cpp:238,1
    - Dst: std::string::data
      Src: /src/phosphor-host-ipmid/oem/example/apphandler.cpp:238,1
    - Dst: std::string::size
      Src: /src/phosphor-host-ipmid/oem/example/apphandler.cpp:238,1
    - Dst: str
      Src: /src/phosphor-host-ipmid/oem/example/apphandler.cpp:255,1
    - Dst: std::string::c_str
      Src: /src/phosphor-host-ipmid/oem/example/apphandler.cpp:256,1
    - Dst: std::from_chars
      Src: /src/phosphor-host-ipmid/oem/example/apphandler.cpp:258,1
    - Dst: std::string::size
      Src: /src/phosphor-host-ipmid/oem/example/apphandler.cpp:258,1
    - Dst: std::errc
      Src: /src/phosphor-host-ipmid/oem/example/apphandler.cpp:259,1
    - Dst: std::string::size
      Src: /src/phosphor-host-ipmid/oem/example/apphandler.cpp:259,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 2
    argNames:
    - s
    - ' rev'
    argTypes:
    - std::string
    - Revision
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 279
    functionName: convertVersion
    functionSourceFile: /src/phosphor-host-ipmid/oem/example/apphandler.cpp
    functionUses: 1
    functionsReached:
    - std::vector::begin
    - std::string::data
    - std::string::c_str
    - std::max_element
    - std::errc
    - std::regex_search
    - std::from_chars
    - str
    - std::vector::end
    - std::string::size
    - std::smatch::size
    linkageType: ''
    returnType: int
    signature: int convertVersion(std::string s, Revision& rev)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: getActiveSoftwareVersionInfo
      Src: /src/phosphor-host-ipmid/oem/example/apphandler.cpp:331,1
    - Dst: convertVersion
      Src: /src/phosphor-host-ipmid/oem/example/apphandler.cpp:332,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/oem/example/apphandler.cpp:336,1
    - Dst: std::memcpy
      Src: /src/phosphor-host-ipmid/oem/example/apphandler.cpp:351,1
    - Dst: std::ifstream::is_open
      Src: /src/phosphor-host-ipmid/oem/example/apphandler.cpp:361,1
    - Dst: nlohmann::json::parse
      Src: /src/phosphor-host-ipmid/oem/example/apphandler.cpp:363,1
    - Dst: auto::is_discarded
      Src: /src/phosphor-host-ipmid/oem/example/apphandler.cpp:364,1
    - Dst: auto::value
      Src: /src/phosphor-host-ipmid/oem/example/apphandler.cpp:366,1
    - Dst: auto::value
      Src: /src/phosphor-host-ipmid/oem/example/apphandler.cpp:367,1
    - Dst: auto::value
      Src: /src/phosphor-host-ipmid/oem/example/apphandler.cpp:368,1
    - Dst: auto::value
      Src: /src/phosphor-host-ipmid/oem/example/apphandler.cpp:369,1
    - Dst: auto::value
      Src: /src/phosphor-host-ipmid/oem/example/apphandler.cpp:370,1
    - Dst: auto::value
      Src: /src/phosphor-host-ipmid/oem/example/apphandler.cpp:374,1
    - Dst: auto::contains
      Src: /src/phosphor-host-ipmid/oem/example/apphandler.cpp:377,1
    - Dst: auto::at
      Src: /src/phosphor-host-ipmid/oem/example/apphandler.cpp:379,1
    - Dst: contains
      Src: /src/phosphor-host-ipmid/oem/example/apphandler.cpp:380,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/oem/example/apphandler.cpp:382,1
    - Dst: contains
      Src: /src/phosphor-host-ipmid/oem/example/apphandler.cpp:384,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/oem/example/apphandler.cpp:386,1
    - Dst: auto::value
      Src: /src/phosphor-host-ipmid/oem/example/apphandler.cpp:391,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/oem/example/apphandler.cpp:398,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/oem/example/apphandler.cpp:399,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/oem/example/apphandler.cpp:404,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/oem/example/apphandler.cpp:405,1
    - Dst: getCurrentBmcStateWithFallback
      Src: /src/phosphor-host-ipmid/oem/example/apphandler.cpp:411,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/oem/example/apphandler.cpp:416,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 51
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - ipmi::Context::ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 419
    functionName: ipmiAppGetDeviceId
    functionSourceFile: /src/phosphor-host-ipmid/oem/example/apphandler.cpp
    functionUses: 0
    functionsReached:
    - auto::is_discarded
    - auto::contains
    - std::ifstream::is_open
    - ipmi::responseUnspecifiedError
    - nlohmann::json::parse
    - auto::value
    - ipmi::responseSuccess
    - getActiveSoftwareVersionInfo
    - convertVersion
    - auto::at
    - contains
    - at
    - lg2::error
    - std::memcpy
    - getCurrentBmcStateWithFallback
    linkageType: ''
    returnType: "ipmi::RspType<uint8_t,  // Device ID\n              uint8_t,  //
      Device Revision\n              uint8_t,  // Firmware Revision Major\n              uint8_t,
      \ // Firmware Revision minor\n              uint8_t,  // IPMI version\n              uint8_t,
      \ // Additional device support\n              uint24_t, // MFG ID\n              uint16_t,
      // Product ID\n              uint32_t  // AUX info\n              >"
    signature: "ipmi::RspType<uint8_t,  // Device ID\n              uint8_t,  // Device
      Revision\n              uint8_t,  // Firmware Revision Major\n              uint8_t,
      \ // Firmware Revision minor\n              uint8_t,  // IPMI version\n              uint8_t,
      \ // Additional device support\n              uint24_t, // MFG ID\n              uint16_t,
      // Product ID\n              uint32_t  // AUX info\n              > ipmiAppGetDeviceId([[maybe_unused]]
      ipmi::Context::ptr ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/oem/example/apphandler.cpp:427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 421
    functionDepth: 1
    functionLinenumber: 421
    functionLinenumberEnd: 430
    functionName: registerNetFnAppFunctions
    functionSourceFile: /src/phosphor-host-ipmid/oem/example/apphandler.cpp
    functionUses: 0
    functionsReached:
    - ipmi::registerHandler
    linkageType: ''
    returnType: void
    signature: void registerNetFnAppFunctions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/app/channel.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 27
    functionName: ipmi::responsePayloadTypeNotSupported
    functionSourceFile: /src/phosphor-host-ipmid/app/channel.cpp
    functionUses: 0
    functionsReached:
    - ipmi::response
    linkageType: ''
    returnType: auto
    signature: auto responsePayloadTypeNotSupported()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/app/channel.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 27
    functionName: ipmi::responsePayloadTypeNotSupported
    functionSourceFile: /src/phosphor-host-ipmid/app/channel.cpp
    functionUses: 0
    functionsReached:
    - ipmi::response
    linkageType: ''
    returnType: auto
    signature: auto responsePayloadTypeNotSupported()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::ifstream::is_open
      Src: /src/phosphor-host-ipmid/app/channel.cpp:53,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/app/channel.cpp:55,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/app/channel.cpp:56,1
    - Dst: Json::parse
      Src: /src/phosphor-host-ipmid/app/channel.cpp:59,1
    - Dst: auto::is_discarded
      Src: /src/phosphor-host-ipmid/app/channel.cpp:60,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/app/channel.cpp:62,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/app/channel.cpp:63,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/app/channel.cpp:68,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/app/channel.cpp:68,1
    - Dst: std::vector::push_back
      Src: /src/phosphor-host-ipmid/app/channel.cpp:71,1
    - Dst: std::vector::push_back
      Src: /src/phosphor-host-ipmid/app/channel.cpp:73,1
    - Dst: value
      Src: /src/phosphor-host-ipmid/app/channel.cpp:73,1
    - Dst: std::vector::push_back
      Src: /src/phosphor-host-ipmid/app/channel.cpp:75,1
    - Dst: value
      Src: /src/phosphor-host-ipmid/app/channel.cpp:75,1
    - Dst: std::vector::push_back
      Src: /src/phosphor-host-ipmid/app/channel.cpp:76,1
    - Dst: value
      Src: /src/phosphor-host-ipmid/app/channel.cpp:76,1
    - Dst: std::vector::push_back
      Src: /src/phosphor-host-ipmid/app/channel.cpp:77,1
    - Dst: value
      Src: /src/phosphor-host-ipmid/app/channel.cpp:77,1
    - Dst: std::vector::push_back
      Src: /src/phosphor-host-ipmid/app/channel.cpp:82,1
    - Dst: std::vector::push_back
      Src: /src/phosphor-host-ipmid/app/channel.cpp:84,1
    - Dst: value
      Src: /src/phosphor-host-ipmid/app/channel.cpp:84,1
    - Dst: std::vector::push_back
      Src: /src/phosphor-host-ipmid/app/channel.cpp:88,1
    - Dst: value
      Src: /src/phosphor-host-ipmid/app/channel.cpp:88,1
    - Dst: std::set::insert
      Src: /src/phosphor-host-ipmid/app/channel.cpp:89,1
    - Dst: value
      Src: /src/phosphor-host-ipmid/app/channel.cpp:89,1
    - Dst: std::vector::push_back
      Src: /src/phosphor-host-ipmid/app/channel.cpp:92,1
    - Dst: value
      Src: /src/phosphor-host-ipmid/app/channel.cpp:92,1
    - Dst: std::set::insert
      Src: /src/phosphor-host-ipmid/app/channel.cpp:93,1
    - Dst: value
      Src: /src/phosphor-host-ipmid/app/channel.cpp:93,1
    - Dst: std::vector::push_back
      Src: /src/phosphor-host-ipmid/app/channel.cpp:96,1
    - Dst: value
      Src: /src/phosphor-host-ipmid/app/channel.cpp:96,1
    - Dst: std::set::insert
      Src: /src/phosphor-host-ipmid/app/channel.cpp:97,1
    - Dst: value
      Src: /src/phosphor-host-ipmid/app/channel.cpp:97,1
    - Dst: std::copy
      Src: /src/phosphor-host-ipmid/app/channel.cpp:101,1
    - Dst: std::set::begin
      Src: /src/phosphor-host-ipmid/app/channel.cpp:101,1
    - Dst: std::set::end
      Src: /src/phosphor-host-ipmid/app/channel.cpp:101,1
    - Dst: std::back_inserter
      Src: /src/phosphor-host-ipmid/app/channel.cpp:102,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/app/channel.cpp:104,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 105
    functionName: cipher::getCipherRecords
    functionSourceFile: /src/phosphor-host-ipmid/app/channel.cpp
    functionUses: 0
    functionsReached:
    - auto::is_discarded
    - find
    - std::ifstream::is_open
    - std::set::insert
    - std::make_pair
    - std::set::begin
    - Json::parse
    - value
    - std::set::end
    - std::back_inserter
    - end
    - std::copy
    - elog<InternalFailure>
    - std::vector::push_back
    - lg2::error
    linkageType: ''
    returnType: std::pair<std::vector<uint8_t>, std::vector<uint8_t>>
    signature: std::pair<std::vector<uint8_t>, std::vector<uint8_t>> getCipherRecords()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::ifstream::is_open
      Src: /src/phosphor-host-ipmid/app/channel.cpp:53,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/app/channel.cpp:55,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/app/channel.cpp:56,1
    - Dst: Json::parse
      Src: /src/phosphor-host-ipmid/app/channel.cpp:59,1
    - Dst: auto::is_discarded
      Src: /src/phosphor-host-ipmid/app/channel.cpp:60,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/app/channel.cpp:62,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/app/channel.cpp:63,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/app/channel.cpp:68,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/app/channel.cpp:68,1
    - Dst: std::vector::push_back
      Src: /src/phosphor-host-ipmid/app/channel.cpp:71,1
    - Dst: std::vector::push_back
      Src: /src/phosphor-host-ipmid/app/channel.cpp:73,1
    - Dst: value
      Src: /src/phosphor-host-ipmid/app/channel.cpp:73,1
    - Dst: std::vector::push_back
      Src: /src/phosphor-host-ipmid/app/channel.cpp:75,1
    - Dst: value
      Src: /src/phosphor-host-ipmid/app/channel.cpp:75,1
    - Dst: std::vector::push_back
      Src: /src/phosphor-host-ipmid/app/channel.cpp:76,1
    - Dst: value
      Src: /src/phosphor-host-ipmid/app/channel.cpp:76,1
    - Dst: std::vector::push_back
      Src: /src/phosphor-host-ipmid/app/channel.cpp:77,1
    - Dst: value
      Src: /src/phosphor-host-ipmid/app/channel.cpp:77,1
    - Dst: std::vector::push_back
      Src: /src/phosphor-host-ipmid/app/channel.cpp:82,1
    - Dst: std::vector::push_back
      Src: /src/phosphor-host-ipmid/app/channel.cpp:84,1
    - Dst: value
      Src: /src/phosphor-host-ipmid/app/channel.cpp:84,1
    - Dst: std::vector::push_back
      Src: /src/phosphor-host-ipmid/app/channel.cpp:88,1
    - Dst: value
      Src: /src/phosphor-host-ipmid/app/channel.cpp:88,1
    - Dst: std::set::insert
      Src: /src/phosphor-host-ipmid/app/channel.cpp:89,1
    - Dst: value
      Src: /src/phosphor-host-ipmid/app/channel.cpp:89,1
    - Dst: std::vector::push_back
      Src: /src/phosphor-host-ipmid/app/channel.cpp:92,1
    - Dst: value
      Src: /src/phosphor-host-ipmid/app/channel.cpp:92,1
    - Dst: std::set::insert
      Src: /src/phosphor-host-ipmid/app/channel.cpp:93,1
    - Dst: value
      Src: /src/phosphor-host-ipmid/app/channel.cpp:93,1
    - Dst: std::vector::push_back
      Src: /src/phosphor-host-ipmid/app/channel.cpp:96,1
    - Dst: value
      Src: /src/phosphor-host-ipmid/app/channel.cpp:96,1
    - Dst: std::set::insert
      Src: /src/phosphor-host-ipmid/app/channel.cpp:97,1
    - Dst: value
      Src: /src/phosphor-host-ipmid/app/channel.cpp:97,1
    - Dst: std::copy
      Src: /src/phosphor-host-ipmid/app/channel.cpp:101,1
    - Dst: std::set::begin
      Src: /src/phosphor-host-ipmid/app/channel.cpp:101,1
    - Dst: std::set::end
      Src: /src/phosphor-host-ipmid/app/channel.cpp:101,1
    - Dst: std::back_inserter
      Src: /src/phosphor-host-ipmid/app/channel.cpp:102,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/app/channel.cpp:104,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 105
    functionName: cipher::getCipherRecords
    functionSourceFile: /src/phosphor-host-ipmid/app/channel.cpp
    functionUses: 0
    functionsReached:
    - auto::is_discarded
    - find
    - std::ifstream::is_open
    - std::set::insert
    - std::make_pair
    - std::set::begin
    - Json::parse
    - value
    - std::set::end
    - std::back_inserter
    - end
    - std::copy
    - elog<InternalFailure>
    - std::vector::push_back
    - lg2::error
    linkageType: ''
    returnType: std::pair<std::vector<uint8_t>, std::vector<uint8_t>>
    signature: std::pair<std::vector<uint8_t>, std::vector<uint8_t>> getCipherRecords()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::convertCurrentChannelNum
      Src: /src/phosphor-host-ipmid/app/channel.cpp:134,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/app/channel.cpp:135,1
    - Dst: ipmi::isValidChannel
      Src: /src/phosphor-host-ipmid/app/channel.cpp:137,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/app/channel.cpp:139,1
    - Dst: ipmi::isValidPayloadType
      Src: /src/phosphor-host-ipmid/app/channel.cpp:141,1
    - Dst: static_cast<ipmi::PayloadType>
      Src: /src/phosphor-host-ipmid/app/channel.cpp:141,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/app/channel.cpp:143,1
    - Dst: ipmi::responsePayloadTypeNotSupported
      Src: /src/phosphor-host-ipmid/app/channel.cpp:144,1
    - Dst: std::tie
      Src: /src/phosphor-host-ipmid/app/channel.cpp:151,1
    - Dst: cipher::getCipherRecords
      Src: /src/phosphor-host-ipmid/app/channel.cpp:152,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/app/channel.cpp:157,1
    - Dst: ipmi::getChannelSessionSupport
      Src: /src/phosphor-host-ipmid/app/channel.cpp:166,1
    - Dst: ipmi::doesDeviceExist
      Src: /src/phosphor-host-ipmid/app/channel.cpp:168,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/app/channel.cpp:170,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/app/channel.cpp:171,1
    - Dst: std::min
      Src: /src/phosphor-host-ipmid/app/channel.cpp:179,1
    - Dst: static_cast<size_t>
      Src: /src/phosphor-host-ipmid/app/channel.cpp:179,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/app/channel.cpp:179,1
    - Dst: std::min
      Src: /src/phosphor-host-ipmid/app/channel.cpp:180,1
    - Dst: static_cast<size_t>
      Src: /src/phosphor-host-ipmid/app/channel.cpp:180,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/app/channel.cpp:181,1
    - Dst: std::copy_n
      Src: /src/phosphor-host-ipmid/app/channel.cpp:185,1
    - Dst: data
      Src: /src/phosphor-host-ipmid/app/channel.cpp:185,1
    - Dst: std::back_inserter
      Src: /src/phosphor-host-ipmid/app/channel.cpp:185,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/app/channel.cpp:187,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 7
    argNames:
    - ctx
    - channelNumber
    - reserved1
    - payloadType
    - listIndex
    - reserved2
    - algoSelectBit
    argTypes:
    - ipmi::Context::ptr
    - uint4_t
    - uint4_t
    - uint8_t
    - uint6_t
    - uint1_t
    - uint1_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 188
    functionName: getChannelCipherSuites
    functionSourceFile: /src/phosphor-host-ipmid/app/channel.cpp
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - ipmi::convertCurrentChannelNum
    - ipmi::responseUnspecifiedError
    - ipmi::responseSuccess
    - static_cast<uint8_t>
    - data
    - ipmi::isValidPayloadType
    - std::copy_n
    - std::min
    - ipmi::getChannelSessionSupport
    - ipmi::doesDeviceExist
    - std::tie
    - cipher::getCipherRecords
    - size
    - ipmi::isValidChannel
    - ipmi::responseInvalidFieldRequest
    - lg2::debug
    - std::back_inserter
    - static_cast<ipmi::PayloadType>
    - ipmi::responsePayloadTypeNotSupported
    linkageType: ''
    returnType: "ipmi::RspType<uint8_t,             // Channel Number\n              std::vector<uint8_t>
      // Cipher Records\n              >"
    signature: "ipmi::RspType<uint8_t,             // Channel Number\n              std::vector<uint8_t>
      // Cipher Records\n              > getChannelCipherSuites(ipmi::Context::ptr
      ctx, uint4_t channelNumber,\n                           uint4_t reserved1, uint8_t
      payloadType,\n                           uint6_t listIndex, uint1_t reserved2,\n
      \                          uint1_t algoSelectBit)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmid_get_sd_bus_connection
      Src: /src/phosphor-host-ipmid/app/watchdog_service.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: WatchdogService::WatchdogService
    functionSourceFile: /src/phosphor-host-ipmid/app/watchdog_service.cpp
    functionUses: 0
    functionsReached:
    - ipmid_get_sd_bus_connection
    linkageType: ''
    returnType: void
    signature: void WatchdogService::WatchdogService()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isValid
      Src: /src/phosphor-host-ipmid/app/watchdog_service.cpp:33,1
    - Dst: newMethodCall
      Src: /src/phosphor-host-ipmid/app/watchdog_service.cpp:35,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/app/watchdog_service.cpp:36,1
    - Dst: call
      Src: /src/phosphor-host-ipmid/app/watchdog_service.cpp:39,1
    - Dst: invalidate
      Src: /src/phosphor-host-ipmid/app/watchdog_service.cpp:43,1
    - Dst: WatchdogService::resetTimeRemaining
      Src: /src/phosphor-host-ipmid/app/watchdog_service.cpp:47,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/app/watchdog_service.cpp:49,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/app/watchdog_service.cpp:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - enableWatchdog
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 54
    functionName: WatchdogService::resetTimeRemaining
    functionSourceFile: /src/phosphor-host-ipmid/app/watchdog_service.cpp
    functionUses: 1
    functionsReached:
    - call
    - auto::append
    - newMethodCall
    - invalidate
    - isValid
    - elog<InternalFailure>
    - lg2::error
    - WatchdogService::resetTimeRemaining
    linkageType: ''
    returnType: void
    signature: void WatchdogService::resetTimeRemaining(bool enableWatchdog)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isValid
      Src: /src/phosphor-host-ipmid/app/watchdog_service.cpp:58,1
    - Dst: newMethodCall
      Src: /src/phosphor-host-ipmid/app/watchdog_service.cpp:59,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/app/watchdog_service.cpp:60,1
    - Dst: call
      Src: /src/phosphor-host-ipmid/app/watchdog_service.cpp:65,1
    - Dst: auto::read
      Src: /src/phosphor-host-ipmid/app/watchdog_service.cpp:66,1
    - Dst: invalidate
      Src: /src/phosphor-host-ipmid/app/watchdog_service.cpp:70,1
    - Dst: WatchdogService::getProperties
      Src: /src/phosphor-host-ipmid/app/watchdog_service.cpp:74,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/app/watchdog_service.cpp:76,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/app/watchdog_service.cpp:78,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/app/watchdog_service.cpp:84,1
    - Dst: std::map::at
      Src: /src/phosphor-host-ipmid/app/watchdog_service.cpp:84,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/app/watchdog_service.cpp:85,1
    - Dst: std::map::at
      Src: /src/phosphor-host-ipmid/app/watchdog_service.cpp:85,1
    - Dst: Watchdog::convertActionFromString
      Src: /src/phosphor-host-ipmid/app/watchdog_service.cpp:86,1
    - Dst: std::get<std::string>
      Src: /src/phosphor-host-ipmid/app/watchdog_service.cpp:87,1
    - Dst: std::map::at
      Src: /src/phosphor-host-ipmid/app/watchdog_service.cpp:87,1
    - Dst: Watchdog::convertTimerUseFromString
      Src: /src/phosphor-host-ipmid/app/watchdog_service.cpp:88,1
    - Dst: std::get<std::string>
      Src: /src/phosphor-host-ipmid/app/watchdog_service.cpp:89,1
    - Dst: std::map::at
      Src: /src/phosphor-host-ipmid/app/watchdog_service.cpp:89,1
    - Dst: Watchdog::convertTimerUseFromString
      Src: /src/phosphor-host-ipmid/app/watchdog_service.cpp:90,1
    - Dst: std::get<std::string>
      Src: /src/phosphor-host-ipmid/app/watchdog_service.cpp:91,1
    - Dst: std::map::at
      Src: /src/phosphor-host-ipmid/app/watchdog_service.cpp:91,1
    - Dst: std::get<uint64_t>
      Src: /src/phosphor-host-ipmid/app/watchdog_service.cpp:93,1
    - Dst: std::map::at
      Src: /src/phosphor-host-ipmid/app/watchdog_service.cpp:93,1
    - Dst: std::get<uint64_t>
      Src: /src/phosphor-host-ipmid/app/watchdog_service.cpp:95,1
    - Dst: std::map::at
      Src: /src/phosphor-host-ipmid/app/watchdog_service.cpp:95,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/app/watchdog_service.cpp:100,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/app/watchdog_service.cpp:102,1
    - Dst: std::runtime_error
      Src: /src/phosphor-host-ipmid/app/watchdog_service.cpp:107,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 109
    functionName: WatchdogService::getProperties
    functionSourceFile: /src/phosphor-host-ipmid/app/watchdog_service.cpp
    functionUses: 1
    functionsReached:
    - call
    - auto::append
    - std::get<bool>
    - std::get<std::string>
    - newMethodCall
    - isValid
    - invalidate
    - std::get<uint64_t>
    - auto::read
    - std::runtime_error
    - WatchdogService::getProperties
    - Watchdog::convertTimerUseFromString
    - elog<InternalFailure>
    - lg2::error
    - std::map::at
    - Watchdog::convertActionFromString
    linkageType: ''
    returnType: WatchdogService::Properties
    signature: WatchdogService::Properties WatchdogService::getProperties()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isValid
      Src: /src/phosphor-host-ipmid/app/watchdog_service.cpp:114,1
    - Dst: newMethodCall
      Src: /src/phosphor-host-ipmid/app/watchdog_service.cpp:115,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/app/watchdog_service.cpp:116,1
    - Dst: call
      Src: /src/phosphor-host-ipmid/app/watchdog_service.cpp:119,1
    - Dst: auto::unpack
      Src: /src/phosphor-host-ipmid/app/watchdog_service.cpp:120,1
    - Dst: std::get<T>
      Src: /src/phosphor-host-ipmid/app/watchdog_service.cpp:122,1
    - Dst: invalidate
      Src: /src/phosphor-host-ipmid/app/watchdog_service.cpp:126,1
    - Dst: WatchdogService::getProperty
      Src: /src/phosphor-host-ipmid/app/watchdog_service.cpp:130,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/app/watchdog_service.cpp:132,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/app/watchdog_service.cpp:134,1
    - Dst: std::runtime_error
      Src: /src/phosphor-host-ipmid/app/watchdog_service.cpp:139,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 141
    functionName: WatchdogService::getProperty
    functionSourceFile: /src/phosphor-host-ipmid/app/watchdog_service.cpp
    functionUses: 1
    functionsReached:
    - auto::unpack
    - call
    - auto::append
    - WatchdogService::getProperty
    - newMethodCall
    - isValid
    - invalidate
    - std::runtime_error
    - std::get<T>
    - elog<InternalFailure>
    - lg2::error
    linkageType: ''
    returnType: T
    signature: T WatchdogService::getProperty(const std::string& key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isValid
      Src: /src/phosphor-host-ipmid/app/watchdog_service.cpp:146,1
    - Dst: newMethodCall
      Src: /src/phosphor-host-ipmid/app/watchdog_service.cpp:147,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/app/watchdog_service.cpp:148,1
    - Dst: std::variant<T>
      Src: /src/phosphor-host-ipmid/app/watchdog_service.cpp:148,1
    - Dst: call
      Src: /src/phosphor-host-ipmid/app/watchdog_service.cpp:151,1
    - Dst: invalidate
      Src: /src/phosphor-host-ipmid/app/watchdog_service.cpp:155,1
    - Dst: WatchdogService::setProperty
      Src: /src/phosphor-host-ipmid/app/watchdog_service.cpp:159,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/app/watchdog_service.cpp:162,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/app/watchdog_service.cpp:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - ' key'
    - ' val'
    argTypes:
    - std::string
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 166
    functionName: WatchdogService::setProperty
    functionSourceFile: /src/phosphor-host-ipmid/app/watchdog_service.cpp
    functionUses: 1
    functionsReached:
    - WatchdogService::setProperty
    - call
    - auto::append
    - std::variant<T>
    - newMethodCall
    - isValid
    - invalidate
    - elog<InternalFailure>
    - lg2::error
    linkageType: ''
    returnType: void
    signature: void WatchdogService::setProperty(const std::string& key, const T&
      val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WatchdogService::getProperty
      Src: /src/phosphor-host-ipmid/app/watchdog_service.cpp:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 168
    functionDepth: 2
    functionLinenumber: 168
    functionLinenumberEnd: 171
    functionName: WatchdogService::getInitialized
    functionSourceFile: /src/phosphor-host-ipmid/app/watchdog_service.cpp
    functionUses: 0
    functionsReached:
    - WatchdogService::getProperty
    linkageType: ''
    returnType: bool
    signature: bool WatchdogService::getInitialized()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WatchdogService::setProperty
      Src: /src/phosphor-host-ipmid/app/watchdog_service.cpp:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - initialized
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 176
    functionName: WatchdogService::setInitialized
    functionSourceFile: /src/phosphor-host-ipmid/app/watchdog_service.cpp
    functionUses: 0
    functionsReached:
    - WatchdogService::setProperty
    linkageType: ''
    returnType: void
    signature: void WatchdogService::setInitialized(bool initialized)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WatchdogService::setProperty
      Src: /src/phosphor-host-ipmid/app/watchdog_service.cpp:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - enabled
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 181
    functionName: WatchdogService::setEnabled
    functionSourceFile: /src/phosphor-host-ipmid/app/watchdog_service.cpp
    functionUses: 0
    functionsReached:
    - WatchdogService::setProperty
    linkageType: ''
    returnType: void
    signature: void WatchdogService::setEnabled(bool enabled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WatchdogService::setProperty
      Src: /src/phosphor-host-ipmid/app/watchdog_service.cpp:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - LogTimeout
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 186
    functionName: WatchdogService::setLogTimeout
    functionSourceFile: /src/phosphor-host-ipmid/app/watchdog_service.cpp
    functionUses: 0
    functionsReached:
    - WatchdogService::setProperty
    linkageType: ''
    returnType: void
    signature: void WatchdogService::setLogTimeout(bool LogTimeout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WatchdogService::setProperty
      Src: /src/phosphor-host-ipmid/app/watchdog_service.cpp:190,1
    - Dst: convertForMessage
      Src: /src/phosphor-host-ipmid/app/watchdog_service.cpp:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - expireAction
    argTypes:
    - Action
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 188
    functionDepth: 2
    functionLinenumber: 188
    functionLinenumberEnd: 191
    functionName: WatchdogService::setExpireAction
    functionSourceFile: /src/phosphor-host-ipmid/app/watchdog_service.cpp
    functionUses: 0
    functionsReached:
    - WatchdogService::setProperty
    - convertForMessage
    linkageType: ''
    returnType: void
    signature: void WatchdogService::setExpireAction(Action expireAction)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WatchdogService::setProperty
      Src: /src/phosphor-host-ipmid/app/watchdog_service.cpp:195,1
    - Dst: convertForMessage
      Src: /src/phosphor-host-ipmid/app/watchdog_service.cpp:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - timerUse
    argTypes:
    - TimerUse
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 193
    functionDepth: 2
    functionLinenumber: 193
    functionLinenumberEnd: 196
    functionName: WatchdogService::setTimerUse
    functionSourceFile: /src/phosphor-host-ipmid/app/watchdog_service.cpp
    functionUses: 0
    functionsReached:
    - WatchdogService::setProperty
    - convertForMessage
    linkageType: ''
    returnType: void
    signature: void WatchdogService::setTimerUse(TimerUse timerUse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WatchdogService::setProperty
      Src: /src/phosphor-host-ipmid/app/watchdog_service.cpp:200,1
    - Dst: convertForMessage
      Src: /src/phosphor-host-ipmid/app/watchdog_service.cpp:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - timerUse
    argTypes:
    - TimerUse
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 198
    functionDepth: 2
    functionLinenumber: 198
    functionLinenumberEnd: 201
    functionName: WatchdogService::setExpiredTimerUse
    functionSourceFile: /src/phosphor-host-ipmid/app/watchdog_service.cpp
    functionUses: 0
    functionsReached:
    - WatchdogService::setProperty
    - convertForMessage
    linkageType: ''
    returnType: void
    signature: void WatchdogService::setExpiredTimerUse(TimerUse timerUse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WatchdogService::setProperty
      Src: /src/phosphor-host-ipmid/app/watchdog_service.cpp:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - interval
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 203
    functionDepth: 2
    functionLinenumber: 203
    functionLinenumberEnd: 206
    functionName: WatchdogService::setInterval
    functionSourceFile: /src/phosphor-host-ipmid/app/watchdog_service.cpp
    functionUses: 0
    functionsReached:
    - WatchdogService::setProperty
    linkageType: ''
    returnType: void
    signature: void WatchdogService::setInterval(uint64_t interval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/app/watchdog.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: ipmi::responseWatchdogNotInit
    functionSourceFile: /src/phosphor-host-ipmid/app/watchdog.cpp
    functionUses: 0
    functionsReached:
    - ipmi::response
    linkageType: ''
    returnType: auto
    signature: auto responseWatchdogNotInit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/app/watchdog.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: ipmi::responseWatchdogNotInit
    functionSourceFile: /src/phosphor-host-ipmid/app/watchdog.cpp
    functionUses: 0
    functionsReached:
    - ipmi::response
    linkageType: ''
    returnType: auto
    signature: auto responseWatchdogNotInit()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: commit<InternalFailure>
      Src: /src/phosphor-host-ipmid/app/watchdog.cpp:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 51
    functionName: reportError
    functionSourceFile: /src/phosphor-host-ipmid/app/watchdog.cpp
    functionUses: 0
    functionsReached:
    - commit<InternalFailure>
    linkageType: ''
    returnType: void
    signature: void reportError()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WatchdogService::WatchdogService
      Src: /src/phosphor-host-ipmid/app/watchdog.cpp:57,1
    - Dst: WatchdogService::getInitialized
      Src: /src/phosphor-host-ipmid/app/watchdog.cpp:61,1
    - Dst: ipmi::responseWatchdogNotInit
      Src: /src/phosphor-host-ipmid/app/watchdog.cpp:65,1
    - Dst: WatchdogService::resetTimeRemaining
      Src: /src/phosphor-host-ipmid/app/watchdog.cpp:69,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/app/watchdog.cpp:71,1
    - Dst: reportError
      Src: /src/phosphor-host-ipmid/app/watchdog.cpp:75,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/app/watchdog.cpp:76,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/app/watchdog.cpp:80,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/app/watchdog.cpp:81,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/app/watchdog.cpp:85,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/app/watchdog.cpp:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 53
    functionDepth: 3
    functionLinenumber: 53
    functionLinenumberEnd: 88
    functionName: ipmiAppResetWatchdogTimer
    functionSourceFile: /src/phosphor-host-ipmid/app/watchdog.cpp
    functionUses: 0
    functionsReached:
    - reportError
    - ipmi::responseSuccess
    - ipmi::responseUnspecifiedError
    - WatchdogService::getInitialized
    - ipmi::responseWatchdogNotInit
    - WatchdogService::WatchdogService
    - lg2::error
    - WatchdogService::resetTimeRemaining
    linkageType: ''
    returnType: ipmi::RspType<>
    signature: ipmi::RspType<> ipmiAppResetWatchdogTimer()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::domain_error
      Src: /src/phosphor-host-ipmid/app/watchdog.cpp:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - ipmiAction
    argTypes:
    - IpmiAction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 136
    functionName: ipmiActionToWdAction
    functionSourceFile: /src/phosphor-host-ipmid/app/watchdog.cpp
    functionUses: 0
    functionsReached:
    - std::domain_error
    linkageType: ''
    returnType: WatchdogService::Action
    signature: WatchdogService::Action ipmiActionToWdAction(IpmiAction ipmiAction)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 1
    argNames:
    - ipmiTimerUse
    argTypes:
    - IpmiTimerUse
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 181
    functionName: ipmiTimerUseToWdTimerUse
    functionSourceFile: /src/phosphor-host-ipmid/app/watchdog.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: WatchdogService::TimerUse
    signature: WatchdogService::TimerUse ipmiTimerUseToWdTimerUse(IpmiTimerUse ipmiTimerUse)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::bitset<8>::test
      Src: /src/phosphor-host-ipmid/app/watchdog.cpp:215,1
    - Dst: std::bitset<8>::test
      Src: /src/phosphor-host-ipmid/app/watchdog.cpp:216,1
    - Dst: std::bitset<8>::test
      Src: /src/phosphor-host-ipmid/app/watchdog.cpp:217,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/app/watchdog.cpp:219,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/app/watchdog.cpp:224,1
    - Dst: WatchdogService::WatchdogService
      Src: /src/phosphor-host-ipmid/app/watchdog.cpp:232,1
    - Dst: WatchdogService::setEnabled
      Src: /src/phosphor-host-ipmid/app/watchdog.cpp:236,1
    - Dst: static_cast<IpmiAction>
      Src: /src/phosphor-host-ipmid/app/watchdog.cpp:240,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/app/watchdog.cpp:241,1
    - Dst: WatchdogService::setExpireAction
      Src: /src/phosphor-host-ipmid/app/watchdog.cpp:242,1
    - Dst: ipmiActionToWdAction
      Src: /src/phosphor-host-ipmid/app/watchdog.cpp:242,1
    - Dst: types::enum_cast<IpmiTimerUse>
      Src: /src/phosphor-host-ipmid/app/watchdog.cpp:244,1
    - Dst: WatchdogService::setTimerUse
      Src: /src/phosphor-host-ipmid/app/watchdog.cpp:245,1
    - Dst: ipmiTimerUseToWdTimerUse
      Src: /src/phosphor-host-ipmid/app/watchdog.cpp:245,1
    - Dst: WatchdogService::setExpiredTimerUse
      Src: /src/phosphor-host-ipmid/app/watchdog.cpp:247,1
    - Dst: WatchdogService::setInterval
      Src: /src/phosphor-host-ipmid/app/watchdog.cpp:253,1
    - Dst: WatchdogService::resetTimeRemaining
      Src: /src/phosphor-host-ipmid/app/watchdog.cpp:254,1
    - Dst: WatchdogService::setInitialized
      Src: /src/phosphor-host-ipmid/app/watchdog.cpp:257,1
    - Dst: WatchdogService::setLogTimeout
      Src: /src/phosphor-host-ipmid/app/watchdog.cpp:258,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/app/watchdog.cpp:261,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/app/watchdog.cpp:265,1
    - Dst: reportError
      Src: /src/phosphor-host-ipmid/app/watchdog.cpp:269,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/app/watchdog.cpp:270,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/app/watchdog.cpp:274,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/app/watchdog.cpp:275,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/app/watchdog.cpp:279,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/app/watchdog.cpp:280,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 11
    argNames:
    - timerUse
    - reserved
    - dontStopTimer
    - dontLog
    - timeoutAction
    - reserved1
    - preTimeoutInterrupt
    - reserved2
    - preTimeoutInterval
    - expFlagValue
    - initialCountdown
    argTypes:
    - uint3_t
    - uint3_t
    - bool
    - bool
    - uint3_t
    - uint1_t
    - uint3_t
    - uint1_t
    - uint8_t
    - std::bitset<8>
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 203
    functionDepth: 3
    functionLinenumber: 203
    functionLinenumberEnd: 282
    functionName: ipmiSetWatchdogTimer
    functionSourceFile: /src/phosphor-host-ipmid/app/watchdog.cpp
    functionUses: 0
    functionsReached:
    - ipmi::responseSuccess
    - ipmi::responseUnspecifiedError
    - WatchdogService::setTimerUse
    - static_cast<IpmiAction>
    - static_cast<uint8_t>
    - ipmiTimerUseToWdTimerUse
    - WatchdogService::WatchdogService
    - WatchdogService::resetTimeRemaining
    - WatchdogService::setLogTimeout
    - WatchdogService::setExpireAction
    - types::enum_cast<IpmiTimerUse>
    - WatchdogService::setExpiredTimerUse
    - WatchdogService::setEnabled
    - ipmi::responseInvalidFieldRequest
    - WatchdogService::setInitialized
    - lg2::error
    - reportError
    - ipmiActionToWdAction
    - std::bitset<8>::test
    - WatchdogService::setInterval
    linkageType: ''
    returnType: ipmi::RspType<>
    signature: "ipmi::RspType<> ipmiSetWatchdogTimer(\n    uint3_t timerUse, uint3_t
      reserved, bool dontStopTimer, bool dontLog,\n    uint3_t timeoutAction, uint1_t
      reserved1, uint3_t preTimeoutInterrupt,\n    uint1_t reserved2, uint8_t preTimeoutInterval,
      std::bitset<8> expFlagValue,\n    uint16_t initialCountdown)"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - wdAction
    argTypes:
    - WatchdogService::Action
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 316
    functionName: wdActionToIpmiAction
    functionSourceFile: /src/phosphor-host-ipmid/app/watchdog.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IpmiAction
    signature: IpmiAction wdActionToIpmiAction(WatchdogService::Action wdAction)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 1
    argNames:
    - wdTimerUse
    argTypes:
    - WatchdogService::TimerUse
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 352
    functionName: wdTimerUseToIpmiTimerUse
    functionSourceFile: /src/phosphor-host-ipmid/app/watchdog.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IpmiTimerUse
    signature: IpmiTimerUse wdTimerUseToIpmiTimerUse(WatchdogService::TimerUse wdTimerUse)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: WatchdogService::WatchdogService
      Src: /src/phosphor-host-ipmid/app/watchdog.cpp:386,1
    - Dst: WatchdogService::getProperties
      Src: /src/phosphor-host-ipmid/app/watchdog.cpp:387,1
    - Dst: htole16
      Src: /src/phosphor-host-ipmid/app/watchdog.cpp:391,1
    - Dst: set
      Src: /src/phosphor-host-ipmid/app/watchdog.cpp:395,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/app/watchdog.cpp:395,1
    - Dst: wdTimerUseToIpmiTimerUse
      Src: /src/phosphor-host-ipmid/app/watchdog.cpp:396,1
    - Dst: htole16
      Src: /src/phosphor-host-ipmid/app/watchdog.cpp:401,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/app/watchdog.cpp:421,1
    - Dst: types::enum_cast<uint3_t>
      Src: /src/phosphor-host-ipmid/app/watchdog.cpp:422,1
    - Dst: wdTimerUseToIpmiTimerUse
      Src: /src/phosphor-host-ipmid/app/watchdog.cpp:423,1
    - Dst: types::enum_cast<uint3_t>
      Src: /src/phosphor-host-ipmid/app/watchdog.cpp:425,1
    - Dst: wdActionToIpmiAction
      Src: /src/phosphor-host-ipmid/app/watchdog.cpp:426,1
    - Dst: reportError
      Src: /src/phosphor-host-ipmid/app/watchdog.cpp:432,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/app/watchdog.cpp:433,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/app/watchdog.cpp:437,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/app/watchdog.cpp:438,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/app/watchdog.cpp:442,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/app/watchdog.cpp:443,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 364
    functionDepth: 2
    functionLinenumber: 364
    functionLinenumberEnd: 445
    functionName: ipmiGetWatchdogTimer
    functionSourceFile: /src/phosphor-host-ipmid/app/watchdog.cpp
    functionUses: 0
    functionsReached:
    - reportError
    - wdActionToIpmiAction
    - ipmi::responseSuccess
    - ipmi::responseUnspecifiedError
    - wdTimerUseToIpmiTimerUse
    - static_cast<uint8_t>
    - htole16
    - WatchdogService::getProperties
    - WatchdogService::WatchdogService
    - set
    - lg2::error
    - types::enum_cast<uint3_t>
    linkageType: ''
    returnType: "ipmi::RspType<uint3_t,        // timerUse - timer use\n              uint3_t,
      \       // timerUse - reserved\n              bool,           // timerUse -
      timer is started\n              bool,           // timerUse - don't log\n\n
      \             uint3_t,        // timerAction - timeout action\n              uint1_t,
      \       // timerAction - reserved\n              uint3_t,        // timerAction
      - pre-timeout interrupt\n              uint1_t,        // timerAction - reserved\n\n
      \             uint8_t,        // pretimeout\n              std::bitset<8>, //
      expireFlags\n              uint16_t,       // initial Countdown - Little Endian
      (deciseconds)\n              uint16_t        // present Countdown - Little Endian
      (deciseconds)\n              >"
    signature: "ipmi::RspType<uint3_t,        // timerUse - timer use\n              uint3_t,
      \       // timerUse - reserved\n              bool,           // timerUse -
      timer is started\n              bool,           // timerUse - don't log\n\n
      \             uint3_t,        // timerAction - timeout action\n              uint1_t,
      \       // timerAction - reserved\n              uint3_t,        // timerAction
      - pre-timeout interrupt\n              uint1_t,        // timerAction - reserved\n\n
      \             uint8_t,        // pretimeout\n              std::bitset<8>, //
      expireFlags\n              uint16_t,       // initial Countdown - Little Endian
      (deciseconds)\n              uint16_t        // present Countdown - Little Endian
      (deciseconds)\n              > ipmiGetWatchdogTimer()"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:22,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:23,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:24,1
    - Dst: reinterpret_cast<void*>
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:24,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - netfn
    - cmd
    - context
    - cb
    - priv
    argTypes:
    - ipmi_netfn_t
    - ipmi_cmd_t
    - ipmi_context_t
    - ipmid_callback_t
    - ipmi_cmd_privilege_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 28
    functionName: ipmi_register_callback
    functionSourceFile: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - reinterpret_cast<void*>
    linkageType: ''
    returnType: void
    signature: "void ipmi_register_callback(ipmi_netfn_t netfn, ipmi_cmd_t cmd,\n
      \                           ipmi_context_t context, ipmid_callback_t cb,\n                            ipmi_cmd_privilege_t
      priv)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: oem::mutableRouter
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:39,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:41,1
    - Dst: oem::mutableRouter
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 42
    functionName: oem::MakeRouter
    functionSourceFile: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp
    functionUses: 0
    functionsReached:
    - oem::mutableRouter
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void MakeRouter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: oem::MakeRouter
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:46,1
    - Dst: activate
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:47,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: oem::ActivateRouter
    functionSourceFile: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp
    functionUses: 0
    functionsReached:
    - oem::MakeRouter
    - ASSERT_EQ
    - activate
    linkageType: ''
    returnType: void
    signature: void ActivateRouter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: oem::ActivateRouter
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:53,1
    - Dst: registerHandler
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - oen
    - cmd
    - cb
    argTypes:
    - Number
    - ipmi_cmd_t
    - Handler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 3
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: oem::RegisterWithRouter
    functionSourceFile: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp
    functionUses: 0
    functionsReached:
    - registerHandler
    - oem::ActivateRouter
    linkageType: ''
    returnType: void
    signature: void RegisterWithRouter(Number oen, ipmi_cmd_t cmd, Handler cb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:67,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:68,1
    - Dst: std::memcpy
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:72,1
    - Dst: oem::RegisterWithRouter
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:75,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:81,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:82,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:87,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:88,1
    - Dst: oem::RegisterWithRouter
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 1
    argNames:
    - nextCmd
    argTypes:
    - ipmi_cmd_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 62
    functionDepth: 4
    functionLinenumber: 62
    functionLinenumberEnd: 95
    functionName: oem::RegisterTwoWays
    functionSourceFile: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - std::memcpy
    - oem::RegisterWithRouter
    linkageType: ''
    returnType: void
    signature: void RegisterTwoWays(ipmi_cmd_t* nextCmd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: oem::mutableRouter
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:39,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:41,1
    - Dst: oem::mutableRouter
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 42
    functionName: oem::MakeRouter
    functionSourceFile: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp
    functionUses: 1
    functionsReached:
    - oem::mutableRouter
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void MakeRouter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: oem::MakeRouter
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:46,1
    - Dst: activate
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:47,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: oem::ActivateRouter
    functionSourceFile: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp
    functionUses: 1
    functionsReached:
    - oem::MakeRouter
    - ASSERT_EQ
    - activate
    linkageType: ''
    returnType: void
    signature: void ActivateRouter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: oem::ActivateRouter
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:53,1
    - Dst: registerHandler
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - oen
    - cmd
    - cb
    argTypes:
    - Number
    - ipmi_cmd_t
    - Handler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 3
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: oem::RegisterWithRouter
    functionSourceFile: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp
    functionUses: 1
    functionsReached:
    - registerHandler
    - oem::ActivateRouter
    linkageType: ''
    returnType: void
    signature: void RegisterWithRouter(Number oen, ipmi_cmd_t cmd, Handler cb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:67,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:68,1
    - Dst: std::memcpy
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:72,1
    - Dst: oem::RegisterWithRouter
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:75,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:81,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:82,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:87,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:88,1
    - Dst: oem::RegisterWithRouter
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 1
    argNames:
    - nextCmd
    argTypes:
    - ipmi_cmd_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 62
    functionDepth: 4
    functionLinenumber: 62
    functionLinenumberEnd: 95
    functionName: oem::RegisterTwoWays
    functionSourceFile: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - std::memcpy
    - oem::RegisterWithRouter
    linkageType: ''
    returnType: void
    signature: void RegisterTwoWays(ipmi_cmd_t* nextCmd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: oem::MakeRouter
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: oem::TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp
    functionUses: 0
    functionsReached:
    - oem::MakeRouter
    linkageType: ''
    returnType: void
    signature: void TEST(OemRouterTest, MakeRouterProducesConsistentSingleton)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: oem::ActivateRouter
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 3
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: oem::TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp
    functionUses: 0
    functionsReached:
    - oem::ActivateRouter
    linkageType: ''
    returnType: void
    signature: void TEST(OemRouterTest, ActivateRouterSetsLastNetToOEMGROUP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: oem::RegisterTwoWays
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:115,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:118,1
    - Dst: wildHandler
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:118,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:120,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:121,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:122,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:123,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:124,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 109
    functionDepth: 5
    functionLinenumber: 109
    functionLinenumberEnd: 126
    functionName: oem::TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp
    functionUses: 0
    functionsReached:
    - oem::RegisterTwoWays
    - EXPECT_EQ
    - wildHandler
    linkageType: ''
    returnType: void
    signature: void TEST(OemRouterTest, VerifiesSpecificCommandMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: oem::RegisterTwoWays
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:134,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:139,1
    - Dst: wildHandler
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:139,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:141,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:145,1
    - Dst: wildHandler
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:145,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 128
    functionDepth: 5
    functionLinenumber: 128
    functionLinenumberEnd: 148
    functionName: oem::TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp
    functionUses: 0
    functionsReached:
    - oem::RegisterTwoWays
    - EXPECT_EQ
    - wildHandler
    linkageType: ''
    returnType: void
    signature: void TEST(OemRouterTest, WildCardMatchesTwoRandomCodes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: oem::RegisterTwoWays
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:156,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:160,1
    - Dst: wildHandler
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:161,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:166,1
    - Dst: wildHandler
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:167,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:172,1
    - Dst: wildHandler
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 150
    functionDepth: 5
    functionLinenumber: 150
    functionLinenumberEnd: 175
    functionName: oem::TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp
    functionUses: 0
    functionsReached:
    - oem::RegisterTwoWays
    - EXPECT_EQ
    - wildHandler
    linkageType: ''
    returnType: void
    signature: void TEST(OemRouterTest, CommandsAreRejectedIfInvalid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: oem::mutableRouter
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:39,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:41,1
    - Dst: oem::mutableRouter
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 42
    functionName: oem::MakeRouter
    functionSourceFile: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp
    functionUses: 3
    functionsReached:
    - oem::mutableRouter
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void MakeRouter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: oem::MakeRouter
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:46,1
    - Dst: activate
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:47,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: oem::ActivateRouter
    functionSourceFile: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp
    functionUses: 3
    functionsReached:
    - oem::MakeRouter
    - ASSERT_EQ
    - activate
    linkageType: ''
    returnType: void
    signature: void ActivateRouter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: oem::ActivateRouter
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:53,1
    - Dst: registerHandler
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - oen
    - cmd
    - cb
    argTypes:
    - Number
    - ipmi_cmd_t
    - Handler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 3
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: oem::RegisterWithRouter
    functionSourceFile: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp
    functionUses: 2
    functionsReached:
    - registerHandler
    - oem::ActivateRouter
    linkageType: ''
    returnType: void
    signature: void RegisterWithRouter(Number oen, ipmi_cmd_t cmd, Handler cb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:67,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:68,1
    - Dst: std::memcpy
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:72,1
    - Dst: oem::RegisterWithRouter
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:75,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:81,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:82,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:87,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:88,1
    - Dst: oem::RegisterWithRouter
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 1
    argNames:
    - nextCmd
    argTypes:
    - ipmi_cmd_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 62
    functionDepth: 4
    functionLinenumber: 62
    functionLinenumberEnd: 95
    functionName: oem::RegisterTwoWays
    functionSourceFile: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp
    functionUses: 3
    functionsReached:
    - EXPECT_EQ
    - std::memcpy
    - oem::RegisterWithRouter
    linkageType: ''
    returnType: void
    signature: void RegisterTwoWays(ipmi_cmd_t* nextCmd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: oem::mutableRouter
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:39,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:41,1
    - Dst: oem::mutableRouter
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 42
    functionName: oem::MakeRouter
    functionSourceFile: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp
    functionUses: 4
    functionsReached:
    - oem::mutableRouter
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void MakeRouter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: oem::MakeRouter
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:46,1
    - Dst: activate
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:47,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: oem::ActivateRouter
    functionSourceFile: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp
    functionUses: 4
    functionsReached:
    - oem::MakeRouter
    - ASSERT_EQ
    - activate
    linkageType: ''
    returnType: void
    signature: void ActivateRouter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: oem::ActivateRouter
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:53,1
    - Dst: registerHandler
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - oen
    - cmd
    - cb
    argTypes:
    - Number
    - ipmi_cmd_t
    - Handler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 3
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: oem::RegisterWithRouter
    functionSourceFile: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp
    functionUses: 3
    functionsReached:
    - registerHandler
    - oem::ActivateRouter
    linkageType: ''
    returnType: void
    signature: void RegisterWithRouter(Number oen, ipmi_cmd_t cmd, Handler cb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:67,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:68,1
    - Dst: std::memcpy
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:72,1
    - Dst: oem::RegisterWithRouter
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:75,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:81,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:82,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:87,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:88,1
    - Dst: oem::RegisterWithRouter
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 1
    argNames:
    - nextCmd
    argTypes:
    - ipmi_cmd_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 62
    functionDepth: 4
    functionLinenumber: 62
    functionLinenumberEnd: 95
    functionName: oem::RegisterTwoWays
    functionSourceFile: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp
    functionUses: 3
    functionsReached:
    - EXPECT_EQ
    - std::memcpy
    - oem::RegisterWithRouter
    linkageType: ''
    returnType: void
    signature: void RegisterTwoWays(ipmi_cmd_t* nextCmd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: oem::MakeRouter
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: oem::TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp
    functionUses: 0
    functionsReached:
    - oem::MakeRouter
    linkageType: ''
    returnType: void
    signature: void TEST(OemRouterTest, MakeRouterProducesConsistentSingleton)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: oem::ActivateRouter
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 3
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: oem::TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp
    functionUses: 0
    functionsReached:
    - oem::ActivateRouter
    linkageType: ''
    returnType: void
    signature: void TEST(OemRouterTest, ActivateRouterSetsLastNetToOEMGROUP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: oem::RegisterTwoWays
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:115,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:118,1
    - Dst: wildHandler
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:118,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:120,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:121,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:122,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:123,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:124,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 109
    functionDepth: 5
    functionLinenumber: 109
    functionLinenumberEnd: 126
    functionName: oem::TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp
    functionUses: 0
    functionsReached:
    - oem::RegisterTwoWays
    - EXPECT_EQ
    - wildHandler
    linkageType: ''
    returnType: void
    signature: void TEST(OemRouterTest, VerifiesSpecificCommandMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: oem::RegisterTwoWays
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:134,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:139,1
    - Dst: wildHandler
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:139,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:141,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:145,1
    - Dst: wildHandler
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:145,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 128
    functionDepth: 5
    functionLinenumber: 128
    functionLinenumberEnd: 148
    functionName: oem::TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp
    functionUses: 0
    functionsReached:
    - oem::RegisterTwoWays
    - EXPECT_EQ
    - wildHandler
    linkageType: ''
    returnType: void
    signature: void TEST(OemRouterTest, WildCardMatchesTwoRandomCodes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: oem::RegisterTwoWays
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:156,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:160,1
    - Dst: wildHandler
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:161,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:166,1
    - Dst: wildHandler
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:167,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:172,1
    - Dst: wildHandler
      Src: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 150
    functionDepth: 5
    functionLinenumber: 150
    functionLinenumberEnd: 175
    functionName: oem::TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp
    functionUses: 0
    functionsReached:
    - oem::RegisterTwoWays
    - EXPECT_EQ
    - wildHandler
    linkageType: ''
    returnType: void
    signature: void TEST(OemRouterTest, CommandsAreRejectedIfInvalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:38,1
    - Dst: ipmi::sensor::buildJsonEntityMap
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:38,1
    - Dst: IsEmpty
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 39
    functionName: ipmi::sensor::TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_THAT
    - IsEmpty
    - ipmi::sensor::buildJsonEntityMap
    linkageType: ''
    returnType: void
    signature: void TEST(ValidateJson, FailWithNonArrayReturnsEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:63,1
    - Dst: ipmi::sensor::buildJsonEntityMap
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:63,1
    - Dst: IsEmpty
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 64
    functionName: ipmi::sensor::TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_THAT
    - IsEmpty
    - ipmi::sensor::buildJsonEntityMap
    linkageType: ''
    returnType: void
    signature: void TEST(ValidateJson, FailWithMissingFieldReturnsEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::buildJsonEntityMap
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:89,1
    - Dst: EXPECT_FALSE
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:90,1
    - Dst: auto::find
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:90,1
    - Dst: auto::end
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:90,1
    - Dst: auto::find
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:91,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:92,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:95,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:96,1
    - Dst: EXPECT_FALSE
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:97,1
    - Dst: EXPECT_FALSE
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:98,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:100,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:100,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:100,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:101,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 103
    functionName: ipmi::sensor::TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp
    functionUses: 0
    functionsReached:
    - std::make_pair
    - ipmi::sensor::buildJsonEntityMap
    - EXPECT_FALSE
    - auto::end
    - auto::find
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(ValidateJson, AllValidEntryReturnsExpectedMap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:127,1
    - Dst: ipmi::sensor::buildJsonEntityMap
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:127,1
    - Dst: IsEmpty
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 128
    functionName: ipmi::sensor::TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_THAT
    - IsEmpty
    - ipmi::sensor::buildJsonEntityMap
    linkageType: ''
    returnType: void
    signature: void TEST(ValidateJson, EntryHasInsufficientContainerEntryCountReturnsEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:163,1
    - Dst: ipmi::sensor::buildJsonEntityMap
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:163,1
    - Dst: IsEmpty
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 164
    functionName: ipmi::sensor::TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_THAT
    - IsEmpty
    - ipmi::sensor::buildJsonEntityMap
    linkageType: ''
    returnType: void
    signature: void TEST(ValidateJson, ThereAreTwoEntriesOneInvalidReturnsEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::buildJsonEntityMap
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:200,1
    - Dst: EXPECT_FALSE
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:201,1
    - Dst: auto::find
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:201,1
    - Dst: auto::end
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:201,1
    - Dst: EXPECT_FALSE
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:202,1
    - Dst: auto::find
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:202,1
    - Dst: auto::end
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:202,1
    - Dst: auto::find
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:204,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:205,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:206,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:207,1
    - Dst: EXPECT_FALSE
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:208,1
    - Dst: EXPECT_FALSE
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:209,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:211,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:211,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:211,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:212,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:213,1
    - Dst: auto::find
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:215,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:216,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:216,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:217,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:217,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 219
    functionName: ipmi::sensor::TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp
    functionUses: 0
    functionsReached:
    - std::make_pair
    - ipmi::sensor::buildJsonEntityMap
    - EXPECT_FALSE
    - auto::end
    - auto::find
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(ValidateJson, ThereAreTwoEntriesBothValidReturnsBoth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:38,1
    - Dst: ipmi::sensor::buildJsonEntityMap
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:38,1
    - Dst: IsEmpty
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 39
    functionName: ipmi::sensor::TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_THAT
    - IsEmpty
    - ipmi::sensor::buildJsonEntityMap
    linkageType: ''
    returnType: void
    signature: void TEST(ValidateJson, FailWithNonArrayReturnsEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:63,1
    - Dst: ipmi::sensor::buildJsonEntityMap
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:63,1
    - Dst: IsEmpty
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 64
    functionName: ipmi::sensor::TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_THAT
    - IsEmpty
    - ipmi::sensor::buildJsonEntityMap
    linkageType: ''
    returnType: void
    signature: void TEST(ValidateJson, FailWithMissingFieldReturnsEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::buildJsonEntityMap
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:89,1
    - Dst: EXPECT_FALSE
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:90,1
    - Dst: auto::find
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:90,1
    - Dst: auto::end
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:90,1
    - Dst: auto::find
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:91,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:92,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:95,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:96,1
    - Dst: EXPECT_FALSE
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:97,1
    - Dst: EXPECT_FALSE
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:98,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:100,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:100,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:100,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:101,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 103
    functionName: ipmi::sensor::TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp
    functionUses: 0
    functionsReached:
    - std::make_pair
    - ipmi::sensor::buildJsonEntityMap
    - EXPECT_FALSE
    - auto::end
    - auto::find
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(ValidateJson, AllValidEntryReturnsExpectedMap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:127,1
    - Dst: ipmi::sensor::buildJsonEntityMap
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:127,1
    - Dst: IsEmpty
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 128
    functionName: ipmi::sensor::TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_THAT
    - IsEmpty
    - ipmi::sensor::buildJsonEntityMap
    linkageType: ''
    returnType: void
    signature: void TEST(ValidateJson, EntryHasInsufficientContainerEntryCountReturnsEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:163,1
    - Dst: ipmi::sensor::buildJsonEntityMap
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:163,1
    - Dst: IsEmpty
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 164
    functionName: ipmi::sensor::TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_THAT
    - IsEmpty
    - ipmi::sensor::buildJsonEntityMap
    linkageType: ''
    returnType: void
    signature: void TEST(ValidateJson, ThereAreTwoEntriesOneInvalidReturnsEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::buildJsonEntityMap
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:200,1
    - Dst: EXPECT_FALSE
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:201,1
    - Dst: auto::find
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:201,1
    - Dst: auto::end
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:201,1
    - Dst: EXPECT_FALSE
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:202,1
    - Dst: auto::find
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:202,1
    - Dst: auto::end
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:202,1
    - Dst: auto::find
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:204,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:205,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:206,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:207,1
    - Dst: EXPECT_FALSE
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:208,1
    - Dst: EXPECT_FALSE
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:209,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:211,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:211,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:211,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:212,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:213,1
    - Dst: auto::find
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:215,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:216,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:216,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:217,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:217,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 219
    functionName: ipmi::sensor::TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp
    functionUses: 0
    functionsReached:
    - std::make_pair
    - ipmi::sensor::buildJsonEntityMap
    - EXPECT_FALSE
    - auto::end
    - auto::find
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(ValidateJson, ThereAreTwoEntriesBothValidReturnsBoth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:38,1
    - Dst: ipmi::sensor::buildJsonEntityMap
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:38,1
    - Dst: IsEmpty
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 39
    functionName: ipmi::sensor::TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_THAT
    - IsEmpty
    - ipmi::sensor::buildJsonEntityMap
    linkageType: ''
    returnType: void
    signature: void TEST(ValidateJson, FailWithNonArrayReturnsEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:63,1
    - Dst: ipmi::sensor::buildJsonEntityMap
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:63,1
    - Dst: IsEmpty
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 64
    functionName: ipmi::sensor::TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_THAT
    - IsEmpty
    - ipmi::sensor::buildJsonEntityMap
    linkageType: ''
    returnType: void
    signature: void TEST(ValidateJson, FailWithMissingFieldReturnsEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::buildJsonEntityMap
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:89,1
    - Dst: EXPECT_FALSE
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:90,1
    - Dst: auto::find
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:90,1
    - Dst: auto::end
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:90,1
    - Dst: auto::find
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:91,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:92,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:95,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:96,1
    - Dst: EXPECT_FALSE
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:97,1
    - Dst: EXPECT_FALSE
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:98,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:100,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:100,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:100,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:101,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 103
    functionName: ipmi::sensor::TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp
    functionUses: 0
    functionsReached:
    - std::make_pair
    - ipmi::sensor::buildJsonEntityMap
    - EXPECT_FALSE
    - auto::end
    - auto::find
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(ValidateJson, AllValidEntryReturnsExpectedMap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:127,1
    - Dst: ipmi::sensor::buildJsonEntityMap
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:127,1
    - Dst: IsEmpty
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 128
    functionName: ipmi::sensor::TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_THAT
    - IsEmpty
    - ipmi::sensor::buildJsonEntityMap
    linkageType: ''
    returnType: void
    signature: void TEST(ValidateJson, EntryHasInsufficientContainerEntryCountReturnsEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:163,1
    - Dst: ipmi::sensor::buildJsonEntityMap
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:163,1
    - Dst: IsEmpty
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 164
    functionName: ipmi::sensor::TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_THAT
    - IsEmpty
    - ipmi::sensor::buildJsonEntityMap
    linkageType: ''
    returnType: void
    signature: void TEST(ValidateJson, ThereAreTwoEntriesOneInvalidReturnsEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::buildJsonEntityMap
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:200,1
    - Dst: EXPECT_FALSE
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:201,1
    - Dst: auto::find
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:201,1
    - Dst: auto::end
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:201,1
    - Dst: EXPECT_FALSE
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:202,1
    - Dst: auto::find
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:202,1
    - Dst: auto::end
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:202,1
    - Dst: auto::find
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:204,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:205,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:206,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:207,1
    - Dst: EXPECT_FALSE
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:208,1
    - Dst: EXPECT_FALSE
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:209,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:211,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:211,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:211,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:212,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:213,1
    - Dst: auto::find
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:215,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:216,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:216,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:217,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:217,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 219
    functionName: ipmi::sensor::TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp
    functionUses: 0
    functionsReached:
    - std::make_pair
    - ipmi::sensor::buildJsonEntityMap
    - EXPECT_FALSE
    - auto::end
    - auto::find
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(ValidateJson, ThereAreTwoEntriesBothValidReturnsBoth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:38,1
    - Dst: ipmi::sensor::buildJsonEntityMap
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:38,1
    - Dst: IsEmpty
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 39
    functionName: ipmi::sensor::TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_THAT
    - IsEmpty
    - ipmi::sensor::buildJsonEntityMap
    linkageType: ''
    returnType: void
    signature: void TEST(ValidateJson, FailWithNonArrayReturnsEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:63,1
    - Dst: ipmi::sensor::buildJsonEntityMap
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:63,1
    - Dst: IsEmpty
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 64
    functionName: ipmi::sensor::TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_THAT
    - IsEmpty
    - ipmi::sensor::buildJsonEntityMap
    linkageType: ''
    returnType: void
    signature: void TEST(ValidateJson, FailWithMissingFieldReturnsEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::buildJsonEntityMap
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:89,1
    - Dst: EXPECT_FALSE
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:90,1
    - Dst: auto::find
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:90,1
    - Dst: auto::end
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:90,1
    - Dst: auto::find
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:91,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:92,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:95,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:96,1
    - Dst: EXPECT_FALSE
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:97,1
    - Dst: EXPECT_FALSE
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:98,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:100,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:100,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:100,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:101,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 103
    functionName: ipmi::sensor::TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp
    functionUses: 0
    functionsReached:
    - std::make_pair
    - ipmi::sensor::buildJsonEntityMap
    - EXPECT_FALSE
    - auto::end
    - auto::find
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(ValidateJson, AllValidEntryReturnsExpectedMap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:127,1
    - Dst: ipmi::sensor::buildJsonEntityMap
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:127,1
    - Dst: IsEmpty
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 128
    functionName: ipmi::sensor::TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_THAT
    - IsEmpty
    - ipmi::sensor::buildJsonEntityMap
    linkageType: ''
    returnType: void
    signature: void TEST(ValidateJson, EntryHasInsufficientContainerEntryCountReturnsEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:163,1
    - Dst: ipmi::sensor::buildJsonEntityMap
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:163,1
    - Dst: IsEmpty
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 164
    functionName: ipmi::sensor::TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_THAT
    - IsEmpty
    - ipmi::sensor::buildJsonEntityMap
    linkageType: ''
    returnType: void
    signature: void TEST(ValidateJson, ThereAreTwoEntriesOneInvalidReturnsEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::buildJsonEntityMap
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:200,1
    - Dst: EXPECT_FALSE
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:201,1
    - Dst: auto::find
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:201,1
    - Dst: auto::end
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:201,1
    - Dst: EXPECT_FALSE
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:202,1
    - Dst: auto::find
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:202,1
    - Dst: auto::end
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:202,1
    - Dst: auto::find
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:204,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:205,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:206,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:207,1
    - Dst: EXPECT_FALSE
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:208,1
    - Dst: EXPECT_FALSE
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:209,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:211,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:211,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:211,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:212,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:213,1
    - Dst: auto::find
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:215,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:216,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:216,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:217,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:217,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 219
    functionName: ipmi::sensor::TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp
    functionUses: 0
    functionsReached:
    - std::make_pair
    - ipmi::sensor::buildJsonEntityMap
    - EXPECT_FALSE
    - auto::end
    - auto::find
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(ValidateJson, ThereAreTwoEntriesBothValidReturnsBoth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:38,1
    - Dst: ipmi::sensor::buildJsonEntityMap
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:38,1
    - Dst: IsEmpty
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 39
    functionName: ipmi::sensor::TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_THAT
    - IsEmpty
    - ipmi::sensor::buildJsonEntityMap
    linkageType: ''
    returnType: void
    signature: void TEST(ValidateJson, FailWithNonArrayReturnsEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:63,1
    - Dst: ipmi::sensor::buildJsonEntityMap
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:63,1
    - Dst: IsEmpty
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 64
    functionName: ipmi::sensor::TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_THAT
    - IsEmpty
    - ipmi::sensor::buildJsonEntityMap
    linkageType: ''
    returnType: void
    signature: void TEST(ValidateJson, FailWithMissingFieldReturnsEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::buildJsonEntityMap
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:89,1
    - Dst: EXPECT_FALSE
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:90,1
    - Dst: auto::find
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:90,1
    - Dst: auto::end
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:90,1
    - Dst: auto::find
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:91,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:92,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:95,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:96,1
    - Dst: EXPECT_FALSE
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:97,1
    - Dst: EXPECT_FALSE
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:98,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:100,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:100,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:100,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:101,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 103
    functionName: ipmi::sensor::TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp
    functionUses: 0
    functionsReached:
    - std::make_pair
    - ipmi::sensor::buildJsonEntityMap
    - EXPECT_FALSE
    - auto::end
    - auto::find
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(ValidateJson, AllValidEntryReturnsExpectedMap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:127,1
    - Dst: ipmi::sensor::buildJsonEntityMap
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:127,1
    - Dst: IsEmpty
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 128
    functionName: ipmi::sensor::TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_THAT
    - IsEmpty
    - ipmi::sensor::buildJsonEntityMap
    linkageType: ''
    returnType: void
    signature: void TEST(ValidateJson, EntryHasInsufficientContainerEntryCountReturnsEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:163,1
    - Dst: ipmi::sensor::buildJsonEntityMap
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:163,1
    - Dst: IsEmpty
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 164
    functionName: ipmi::sensor::TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_THAT
    - IsEmpty
    - ipmi::sensor::buildJsonEntityMap
    linkageType: ''
    returnType: void
    signature: void TEST(ValidateJson, ThereAreTwoEntriesOneInvalidReturnsEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::buildJsonEntityMap
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:200,1
    - Dst: EXPECT_FALSE
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:201,1
    - Dst: auto::find
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:201,1
    - Dst: auto::end
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:201,1
    - Dst: EXPECT_FALSE
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:202,1
    - Dst: auto::find
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:202,1
    - Dst: auto::end
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:202,1
    - Dst: auto::find
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:204,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:205,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:206,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:207,1
    - Dst: EXPECT_FALSE
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:208,1
    - Dst: EXPECT_FALSE
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:209,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:211,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:211,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:211,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:212,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:213,1
    - Dst: auto::find
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:215,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:216,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:216,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:217,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:217,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 219
    functionName: ipmi::sensor::TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp
    functionUses: 0
    functionsReached:
    - std::make_pair
    - ipmi::sensor::buildJsonEntityMap
    - EXPECT_FALSE
    - auto::end
    - auto::find
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(ValidateJson, ThereAreTwoEntriesBothValidReturnsBoth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:38,1
    - Dst: ipmi::sensor::buildJsonEntityMap
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:38,1
    - Dst: IsEmpty
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 39
    functionName: ipmi::sensor::TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_THAT
    - IsEmpty
    - ipmi::sensor::buildJsonEntityMap
    linkageType: ''
    returnType: void
    signature: void TEST(ValidateJson, FailWithNonArrayReturnsEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:63,1
    - Dst: ipmi::sensor::buildJsonEntityMap
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:63,1
    - Dst: IsEmpty
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 64
    functionName: ipmi::sensor::TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_THAT
    - IsEmpty
    - ipmi::sensor::buildJsonEntityMap
    linkageType: ''
    returnType: void
    signature: void TEST(ValidateJson, FailWithMissingFieldReturnsEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::buildJsonEntityMap
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:89,1
    - Dst: EXPECT_FALSE
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:90,1
    - Dst: auto::find
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:90,1
    - Dst: auto::end
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:90,1
    - Dst: auto::find
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:91,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:92,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:95,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:96,1
    - Dst: EXPECT_FALSE
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:97,1
    - Dst: EXPECT_FALSE
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:98,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:100,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:100,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:100,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:101,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 103
    functionName: ipmi::sensor::TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp
    functionUses: 0
    functionsReached:
    - std::make_pair
    - ipmi::sensor::buildJsonEntityMap
    - EXPECT_FALSE
    - auto::end
    - auto::find
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(ValidateJson, AllValidEntryReturnsExpectedMap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:127,1
    - Dst: ipmi::sensor::buildJsonEntityMap
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:127,1
    - Dst: IsEmpty
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 128
    functionName: ipmi::sensor::TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_THAT
    - IsEmpty
    - ipmi::sensor::buildJsonEntityMap
    linkageType: ''
    returnType: void
    signature: void TEST(ValidateJson, EntryHasInsufficientContainerEntryCountReturnsEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:163,1
    - Dst: ipmi::sensor::buildJsonEntityMap
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:163,1
    - Dst: IsEmpty
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 164
    functionName: ipmi::sensor::TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_THAT
    - IsEmpty
    - ipmi::sensor::buildJsonEntityMap
    linkageType: ''
    returnType: void
    signature: void TEST(ValidateJson, ThereAreTwoEntriesOneInvalidReturnsEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::buildJsonEntityMap
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:200,1
    - Dst: EXPECT_FALSE
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:201,1
    - Dst: auto::find
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:201,1
    - Dst: auto::end
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:201,1
    - Dst: EXPECT_FALSE
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:202,1
    - Dst: auto::find
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:202,1
    - Dst: auto::end
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:202,1
    - Dst: auto::find
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:204,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:205,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:206,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:207,1
    - Dst: EXPECT_FALSE
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:208,1
    - Dst: EXPECT_FALSE
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:209,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:211,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:211,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:211,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:212,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:213,1
    - Dst: auto::find
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:215,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:216,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:216,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:217,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:217,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 219
    functionName: ipmi::sensor::TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp
    functionUses: 0
    functionsReached:
    - std::make_pair
    - ipmi::sensor::buildJsonEntityMap
    - EXPECT_FALSE
    - auto::end
    - auto::find
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(ValidateJson, ThereAreTwoEntriesBothValidReturnsBoth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:38,1
    - Dst: ipmi::sensor::buildJsonEntityMap
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:38,1
    - Dst: IsEmpty
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 39
    functionName: ipmi::sensor::TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_THAT
    - IsEmpty
    - ipmi::sensor::buildJsonEntityMap
    linkageType: ''
    returnType: void
    signature: void TEST(ValidateJson, FailWithNonArrayReturnsEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:63,1
    - Dst: ipmi::sensor::buildJsonEntityMap
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:63,1
    - Dst: IsEmpty
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 64
    functionName: ipmi::sensor::TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_THAT
    - IsEmpty
    - ipmi::sensor::buildJsonEntityMap
    linkageType: ''
    returnType: void
    signature: void TEST(ValidateJson, FailWithMissingFieldReturnsEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::buildJsonEntityMap
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:89,1
    - Dst: EXPECT_FALSE
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:90,1
    - Dst: auto::find
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:90,1
    - Dst: auto::end
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:90,1
    - Dst: auto::find
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:91,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:92,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:95,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:96,1
    - Dst: EXPECT_FALSE
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:97,1
    - Dst: EXPECT_FALSE
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:98,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:100,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:100,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:100,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:101,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 103
    functionName: ipmi::sensor::TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp
    functionUses: 0
    functionsReached:
    - std::make_pair
    - ipmi::sensor::buildJsonEntityMap
    - EXPECT_FALSE
    - auto::end
    - auto::find
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(ValidateJson, AllValidEntryReturnsExpectedMap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:127,1
    - Dst: ipmi::sensor::buildJsonEntityMap
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:127,1
    - Dst: IsEmpty
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 128
    functionName: ipmi::sensor::TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_THAT
    - IsEmpty
    - ipmi::sensor::buildJsonEntityMap
    linkageType: ''
    returnType: void
    signature: void TEST(ValidateJson, EntryHasInsufficientContainerEntryCountReturnsEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:163,1
    - Dst: ipmi::sensor::buildJsonEntityMap
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:163,1
    - Dst: IsEmpty
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 164
    functionName: ipmi::sensor::TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_THAT
    - IsEmpty
    - ipmi::sensor::buildJsonEntityMap
    linkageType: ''
    returnType: void
    signature: void TEST(ValidateJson, ThereAreTwoEntriesOneInvalidReturnsEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::buildJsonEntityMap
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:200,1
    - Dst: EXPECT_FALSE
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:201,1
    - Dst: auto::find
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:201,1
    - Dst: auto::end
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:201,1
    - Dst: EXPECT_FALSE
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:202,1
    - Dst: auto::find
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:202,1
    - Dst: auto::end
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:202,1
    - Dst: auto::find
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:204,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:205,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:206,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:207,1
    - Dst: EXPECT_FALSE
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:208,1
    - Dst: EXPECT_FALSE
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:209,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:211,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:211,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:211,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:212,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:213,1
    - Dst: auto::find
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:215,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:216,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:216,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:217,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:217,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 219
    functionName: ipmi::sensor::TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp
    functionUses: 0
    functionsReached:
    - std::make_pair
    - ipmi::sensor::buildJsonEntityMap
    - EXPECT_FALSE
    - auto::end
    - auto::find
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(ValidateJson, ThereAreTwoEntriesBothValidReturnsBoth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:38,1
    - Dst: ipmi::sensor::buildJsonEntityMap
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:38,1
    - Dst: IsEmpty
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 39
    functionName: ipmi::sensor::TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_THAT
    - IsEmpty
    - ipmi::sensor::buildJsonEntityMap
    linkageType: ''
    returnType: void
    signature: void TEST(ValidateJson, FailWithNonArrayReturnsEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:63,1
    - Dst: ipmi::sensor::buildJsonEntityMap
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:63,1
    - Dst: IsEmpty
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 64
    functionName: ipmi::sensor::TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_THAT
    - IsEmpty
    - ipmi::sensor::buildJsonEntityMap
    linkageType: ''
    returnType: void
    signature: void TEST(ValidateJson, FailWithMissingFieldReturnsEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::buildJsonEntityMap
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:89,1
    - Dst: EXPECT_FALSE
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:90,1
    - Dst: auto::find
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:90,1
    - Dst: auto::end
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:90,1
    - Dst: auto::find
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:91,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:92,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:95,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:96,1
    - Dst: EXPECT_FALSE
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:97,1
    - Dst: EXPECT_FALSE
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:98,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:100,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:100,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:100,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:101,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 103
    functionName: ipmi::sensor::TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp
    functionUses: 0
    functionsReached:
    - std::make_pair
    - ipmi::sensor::buildJsonEntityMap
    - EXPECT_FALSE
    - auto::end
    - auto::find
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(ValidateJson, AllValidEntryReturnsExpectedMap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:127,1
    - Dst: ipmi::sensor::buildJsonEntityMap
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:127,1
    - Dst: IsEmpty
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 128
    functionName: ipmi::sensor::TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_THAT
    - IsEmpty
    - ipmi::sensor::buildJsonEntityMap
    linkageType: ''
    returnType: void
    signature: void TEST(ValidateJson, EntryHasInsufficientContainerEntryCountReturnsEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:163,1
    - Dst: ipmi::sensor::buildJsonEntityMap
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:163,1
    - Dst: IsEmpty
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 164
    functionName: ipmi::sensor::TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_THAT
    - IsEmpty
    - ipmi::sensor::buildJsonEntityMap
    linkageType: ''
    returnType: void
    signature: void TEST(ValidateJson, ThereAreTwoEntriesOneInvalidReturnsEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::buildJsonEntityMap
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:200,1
    - Dst: EXPECT_FALSE
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:201,1
    - Dst: auto::find
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:201,1
    - Dst: auto::end
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:201,1
    - Dst: EXPECT_FALSE
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:202,1
    - Dst: auto::find
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:202,1
    - Dst: auto::end
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:202,1
    - Dst: auto::find
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:204,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:205,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:206,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:207,1
    - Dst: EXPECT_FALSE
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:208,1
    - Dst: EXPECT_FALSE
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:209,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:211,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:211,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:211,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:212,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:213,1
    - Dst: auto::find
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:215,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:216,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:216,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:217,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:217,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 219
    functionName: ipmi::sensor::TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/entitymap_json_unittest.cpp
    functionUses: 0
    functionsReached:
    - std::make_pair
    - ipmi::sensor::buildJsonEntityMap
    - EXPECT_FALSE
    - auto::end
    - auto::find
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(ValidateJson, ThereAreTwoEntriesBothValidReturnsBoth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::Payload::pack
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:27,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:29,1
    - Dst: ipmi::message::Payload::size
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:29,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 33
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/pack.cpp
    functionUses: 0
    functionsReached:
    - ipmi::message::Payload::pack
    - ipmi::message::Payload::size
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(PackBasics, Uint8)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::Payload::pack
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:39,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:41,1
    - Dst: ipmi::message::Payload::size
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:41,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 45
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/pack.cpp
    functionUses: 0
    functionsReached:
    - ipmi::message::Payload::pack
    - ipmi::message::Payload::size
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(PackBasics, Uint16)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::Payload::pack
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:51,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:53,1
    - Dst: ipmi::message::Payload::size
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:53,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 57
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/pack.cpp
    functionUses: 0
    functionsReached:
    - ipmi::message::Payload::pack
    - ipmi::message::Payload::size
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(PackBasics, Uint32)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::Payload::pack
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:63,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:65,1
    - Dst: ipmi::message::Payload::size
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:65,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 69
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/pack.cpp
    functionUses: 0
    functionsReached:
    - ipmi::message::Payload::pack
    - ipmi::message::Payload::size
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(PackBasics, Uint64)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::Payload::pack
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:75,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:77,1
    - Dst: ipmi::message::Payload::size
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:77,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 81
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/pack.cpp
    functionUses: 0
    functionsReached:
    - ipmi::message::Payload::pack
    - ipmi::message::Payload::size
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(PackBasics, Uint24)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::Payload::pack
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:90,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:92,1
    - Dst: ipmi::message::Payload::size
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:92,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 98
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/pack.cpp
    functionUses: 0
    functionsReached:
    - ipmi::message::Payload::pack
    - ipmi::message::Payload::size
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(PackBasics, Uint3Uint5)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::Payload::pack
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:107,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:109,1
    - Dst: ipmi::message::Payload::size
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:109,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 113
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/pack.cpp
    functionUses: 0
    functionsReached:
    - ipmi::message::Payload::pack
    - ipmi::message::Payload::size
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(PackBasics, Boolx8)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::Payload::pack
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:121,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:123,1
    - Dst: ipmi::message::Payload::size
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:123,1
    - Dst: std::bitset::size
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:123,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 127
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/pack.cpp
    functionUses: 0
    functionsReached:
    - ipmi::message::Payload::pack
    - std::bitset::size
    - ipmi::message::Payload::size
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(PackBasics, Bitset8)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::Payload::pack
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:136,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:138,1
    - Dst: ipmi::message::Payload::size
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:138,1
    - Dst: std::bitset::size
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:138,1
    - Dst: std::bitset::size
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:138,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 142
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/pack.cpp
    functionUses: 0
    functionsReached:
    - ipmi::message::Payload::pack
    - std::bitset::size
    - ipmi::message::Payload::size
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(PackBasics, Bitset3Bitset5)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::Payload::pack
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:151,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:153,1
    - Dst: ipmi::message::Payload::size
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:153,1
    - Dst: std::bitset::size
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:153,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 157
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/pack.cpp
    functionUses: 0
    functionsReached:
    - ipmi::message::Payload::pack
    - std::bitset::size
    - ipmi::message::Payload::size
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(PackBasics, Bitset32)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_tuple
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:163,1
    - Dst: static_cast<uint16_t>
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:163,1
    - Dst: ipmi::message::Payload::pack
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:164,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:166,1
    - Dst: ipmi::message::Payload::size
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:166,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 170
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/pack.cpp
    functionUses: 0
    functionsReached:
    - ipmi::message::Payload::size
    - std::make_tuple
    - ipmi::message::Payload::pack
    - ASSERT_EQ
    - static_cast<uint16_t>
    linkageType: ''
    returnType: void
    signature: void TEST(PackBasics, Tuple)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::Payload::pack
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:177,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:179,1
    - Dst: ipmi::message::Payload::size
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:179,1
    - Dst: std::array::size
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:179,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 183
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/pack.cpp
    functionUses: 0
    functionsReached:
    - ipmi::message::Payload::pack
    - ipmi::message::Payload::size
    - ASSERT_EQ
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(PackBasics, Array4xUint8)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::Payload::pack
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:196,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:198,1
    - Dst: ipmi::message::Payload::size
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:198,1
    - Dst: std::array::size
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:198,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 203
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/pack.cpp
    functionUses: 0
    functionsReached:
    - ipmi::message::Payload::pack
    - ipmi::message::Payload::size
    - ASSERT_EQ
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(PackBasics, Array4xUint32)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::Payload::pack
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:216,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:218,1
    - Dst: ipmi::message::Payload::size
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:218,1
    - Dst: std::vector::size
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:218,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 223
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/pack.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - ipmi::message::Payload::pack
    - ipmi::message::Payload::size
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(PackBasics, VectorUint32)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::Payload::pack
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:230,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:232,1
    - Dst: ipmi::message::Payload::size
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:232,1
    - Dst: std::vector::size
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:232,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 236
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/pack.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - ipmi::message::Payload::pack
    - ipmi::message::Payload::size
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(PackBasics, VectorUint8)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:241,1
    - Dst: ipmi::message::Payload::pack
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:241,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 243
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/pack.cpp
    functionUses: 0
    functionsReached:
    - ipmi::message::Payload::pack
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(PackBasics, VectorUnaligned)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:248,1
    - Dst: ipmi::message::Payload::pack
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:248,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:249,1
    - Dst: ipmi::SecureBuffer::SecureBuffer
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 250
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/pack.cpp
    functionUses: 0
    functionsReached:
    - ipmi::message::Payload::pack
    - EXPECT_EQ
    - ipmi::SecureBuffer::SecureBuffer
    linkageType: ''
    returnType: void
    signature: void TEST(PackBasics, StringView)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:255,1
    - Dst: ipmi::message::Payload::pack
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:255,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:256,1
    - Dst: ipmi::SecureBuffer::SecureBuffer
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 257
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/pack.cpp
    functionUses: 0
    functionsReached:
    - ipmi::message::Payload::pack
    - EXPECT_EQ
    - ipmi::SecureBuffer::SecureBuffer
    linkageType: ''
    returnType: void
    signature: void TEST(PackBasics, StringViewUnaligned)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::Payload::pack
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:264,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:266,1
    - Dst: ipmi::message::Payload::size
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:266,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 270
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/pack.cpp
    functionUses: 0
    functionsReached:
    - ipmi::message::Payload::pack
    - ipmi::message::Payload::size
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(PackBasics, OptionalEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::Payload::pack
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:277,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:279,1
    - Dst: ipmi::message::Payload::size
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:279,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 283
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/pack.cpp
    functionUses: 0
    functionsReached:
    - ipmi::message::Payload::pack
    - ipmi::message::Payload::size
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(PackBasics, OptionalContainsValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:288,1
    - Dst: ipmi::message::Payload::pack
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:288,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:289,1
    - Dst: ipmi::message::Payload::pack
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:289,1
    - Dst: ipmi::message::Payload
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:289,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:290,1
    - Dst: ipmi::SecureBuffer::SecureBuffer
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 291
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/pack.cpp
    functionUses: 0
    functionsReached:
    - ipmi::message::Payload::pack
    - ipmi::message::Payload
    - EXPECT_EQ
    - ipmi::SecureBuffer::SecureBuffer
    linkageType: ''
    returnType: void
    signature: void TEST(PackBasics, Payload)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:296,1
    - Dst: ipmi::message::Payload::pack
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:296,1
    - Dst: ipmi::message::Payload
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:296,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:297,1
    - Dst: ipmi::SecureBuffer::SecureBuffer
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 298
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/pack.cpp
    functionUses: 0
    functionsReached:
    - ipmi::message::Payload::pack
    - ipmi::message::Payload
    - EXPECT_EQ
    - ipmi::SecureBuffer::SecureBuffer
    linkageType: ''
    returnType: void
    signature: void TEST(PackBasics, PayloadUnaligned)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: appendBits
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:303,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:304,1
    - Dst: ipmi::message::Payload::pack
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:304,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:305,1
    - Dst: ipmi::message::Payload::pack
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:305,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:306,1
    - Dst: ipmi::SecureBuffer::SecureBuffer
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 307
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/pack.cpp
    functionUses: 0
    functionsReached:
    - ipmi::message::Payload::pack
    - appendBits
    - EXPECT_EQ
    - ipmi::SecureBuffer::SecureBuffer
    linkageType: ''
    returnType: void
    signature: void TEST(PackBasics, PayloadOtherUnaligned)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:312,1
    - Dst: ipmi::message::Payload::pack
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:312,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:313,1
    - Dst: ipmi::message::Payload::prepend
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:313,1
    - Dst: ipmi::message::Payload
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:313,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:314,1
    - Dst: ipmi::SecureBuffer::SecureBuffer
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 315
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/pack.cpp
    functionUses: 0
    functionsReached:
    - ipmi::message::Payload::pack
    - ipmi::message::Payload
    - ipmi::SecureBuffer::SecureBuffer
    - ipmi::message::Payload::prepend
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(PackBasics, PrependPayload)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::Payload::appendBits
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:320,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:321,1
    - Dst: ipmi::message::Payload::prepend
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:321,1
    - Dst: ipmi::message::Payload
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:321,1
    - Dst: ipmi::message::Payload::drain
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:322,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:323,1
    - Dst: ipmi::SecureBuffer::SecureBuffer
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 324
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/pack.cpp
    functionUses: 0
    functionsReached:
    - ipmi::message::Payload
    - ipmi::message::Payload::drain
    - ipmi::message::Payload::appendBits
    - ipmi::SecureBuffer::SecureBuffer
    - ipmi::message::Payload::prepend
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(PackBasics, PrependPayloadUnaligned)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: appendBits
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:329,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:330,1
    - Dst: ipmi::message::Payload::pack
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:330,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:331,1
    - Dst: ipmi::message::Payload::prepend
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:331,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:332,1
    - Dst: ipmi::SecureBuffer::SecureBuffer
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 333
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/pack.cpp
    functionUses: 0
    functionsReached:
    - ipmi::message::Payload::pack
    - ipmi::SecureBuffer::SecureBuffer
    - appendBits
    - EXPECT_EQ
    - ipmi::message::Payload::prepend
    linkageType: ''
    returnType: void
    signature: void TEST(PackBasics, PrependPayloadOtherUnaligned)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::Payload::pack
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:347,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:349,1
    - Dst: ipmi::message::Payload::size
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:349,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 354
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/pack.cpp
    functionUses: 0
    functionsReached:
    - ipmi::message::Payload::pack
    - ipmi::message::Payload::size
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(PackAdvanced, Uints)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_tuple
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:368,1
    - Dst: ipmi::message::Payload::pack
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:369,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:371,1
    - Dst: ipmi::message::Payload::size
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:371,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 376
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/pack.cpp
    functionUses: 0
    functionsReached:
    - std::make_tuple
    - ipmi::message::Payload::pack
    - ipmi::message::Payload::size
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(PackAdvanced, TupleInts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::Payload::pack
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:385,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:386,1
    - Dst: ipmi::message::Payload::size
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:386,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 391
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/pack.cpp
    functionUses: 0
    functionsReached:
    - ipmi::message::Payload::pack
    - ipmi::message::Payload::size
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(PackAdvanced, VariantArray)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::Payload::pack
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:409,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:411,1
    - Dst: ipmi::message::Payload::size
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:411,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 415
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/pack.cpp
    functionUses: 0
    functionsReached:
    - ipmi::message::Payload::pack
    - ipmi::message::Payload::size
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(PackAdvanced, BoolsnBitfieldsnFixedIntsOhMy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::Payload::pack
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:443,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:445,1
    - Dst: ipmi::message::Payload::size
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:445,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 449
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/pack.cpp
    functionUses: 0
    functionsReached:
    - ipmi::message::Payload::pack
    - ipmi::message::Payload::size
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(PackAdvanced, UnalignedBitPacking)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::optional::emplace
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:476,1
    - Dst: std::optional::emplace
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:478,1
    - Dst: ipmi::message::Payload::pack
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:481,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:482,1
    - Dst: ipmi::message::Payload::size
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:482,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:487,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:487,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/pack.cpp:496,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 497
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/pack.cpp
    functionUses: 0
    functionsReached:
    - ipmi::message::Payload::size
    - ipmi::message::Payload::pack
    - ASSERT_EQ
    - static_cast<uint8_t>
    - std::optional::emplace
    linkageType: ''
    returnType: void
    signature: void TEST(PackAdvanced, ComplexOptionalTuple)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:27,1
    - Dst: ipmi::message::Payload::unpack
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:27,1
    - Dst: ASSERT_TRUE
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:29,1
    - Dst: ipmi::message::Payload::fullyUnpacked
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:29,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 33
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/unpack.cpp
    functionUses: 0
    functionsReached:
    - ipmi::message::Payload::unpack
    - ASSERT_TRUE
    - ipmi::message::Payload::fullyUnpacked
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(Uints, Uint8)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:41,1
    - Dst: ipmi::message::Payload::unpack
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:41,1
    - Dst: ASSERT_FALSE
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:43,1
    - Dst: ipmi::message::Payload::fullyUnpacked
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:43,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 47
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/unpack.cpp
    functionUses: 0
    functionsReached:
    - ipmi::message::Payload::unpack
    - ipmi::message::Payload::fullyUnpacked
    - ASSERT_FALSE
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(Uints, Uint8TooManyBytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:55,1
    - Dst: ipmi::message::Payload::unpack
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:55,1
    - Dst: ASSERT_FALSE
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:57,1
    - Dst: ipmi::message::Payload::fullyUnpacked
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:57,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 60
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/unpack.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_NE
    - ASSERT_EQ
    - ipmi::message::Payload::unpack
    - ipmi::message::Payload::fullyUnpacked
    - ASSERT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(Uints, Uint8InsufficientBytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:68,1
    - Dst: ipmi::message::Payload::unpack
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:68,1
    - Dst: ASSERT_TRUE
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:70,1
    - Dst: ipmi::message::Payload::fullyUnpacked
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:70,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 74
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/unpack.cpp
    functionUses: 0
    functionsReached:
    - ipmi::message::Payload::unpack
    - ASSERT_TRUE
    - ipmi::message::Payload::fullyUnpacked
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(Uints, Uint16)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:82,1
    - Dst: ipmi::message::Payload::unpack
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:82,1
    - Dst: ASSERT_FALSE
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:84,1
    - Dst: ipmi::message::Payload::fullyUnpacked
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:84,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 88
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/unpack.cpp
    functionUses: 0
    functionsReached:
    - ipmi::message::Payload::unpack
    - ipmi::message::Payload::fullyUnpacked
    - ASSERT_FALSE
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(Uints, Uint16TooManyBytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:96,1
    - Dst: ipmi::message::Payload::unpack
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:96,1
    - Dst: ASSERT_FALSE
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:98,1
    - Dst: ipmi::message::Payload::fullyUnpacked
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:98,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 101
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/unpack.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_NE
    - ASSERT_EQ
    - ipmi::message::Payload::unpack
    - ipmi::message::Payload::fullyUnpacked
    - ASSERT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(Uints, Uint16InsufficientBytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:109,1
    - Dst: ipmi::message::Payload::unpack
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:109,1
    - Dst: ASSERT_TRUE
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:111,1
    - Dst: ipmi::message::Payload::fullyUnpacked
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:111,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 115
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/unpack.cpp
    functionUses: 0
    functionsReached:
    - ipmi::message::Payload::unpack
    - ASSERT_TRUE
    - ipmi::message::Payload::fullyUnpacked
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(Uints, Uint32)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:123,1
    - Dst: ipmi::message::Payload::unpack
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:123,1
    - Dst: ASSERT_FALSE
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:125,1
    - Dst: ipmi::message::Payload::fullyUnpacked
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:125,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 129
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/unpack.cpp
    functionUses: 0
    functionsReached:
    - ipmi::message::Payload::unpack
    - ipmi::message::Payload::fullyUnpacked
    - ASSERT_FALSE
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(Uints, Uint32TooManyBytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:137,1
    - Dst: ipmi::message::Payload::unpack
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:137,1
    - Dst: ASSERT_FALSE
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:139,1
    - Dst: ipmi::message::Payload::fullyUnpacked
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:139,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 142
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/unpack.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_NE
    - ASSERT_EQ
    - ipmi::message::Payload::unpack
    - ipmi::message::Payload::fullyUnpacked
    - ASSERT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(Uints, Uint32InsufficientBytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:150,1
    - Dst: ipmi::message::Payload::unpack
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:150,1
    - Dst: ASSERT_TRUE
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:152,1
    - Dst: ipmi::message::Payload::fullyUnpacked
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:152,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 156
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/unpack.cpp
    functionUses: 0
    functionsReached:
    - ipmi::message::Payload::unpack
    - ASSERT_TRUE
    - ipmi::message::Payload::fullyUnpacked
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(Uints, Uint64)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:165,1
    - Dst: ipmi::message::Payload::unpack
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:165,1
    - Dst: ASSERT_FALSE
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:167,1
    - Dst: ipmi::message::Payload::fullyUnpacked
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:167,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 171
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/unpack.cpp
    functionUses: 0
    functionsReached:
    - ipmi::message::Payload::unpack
    - ipmi::message::Payload::fullyUnpacked
    - ASSERT_FALSE
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(Uints, Uint64TooManyBytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:179,1
    - Dst: ipmi::message::Payload::unpack
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:179,1
    - Dst: ASSERT_FALSE
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:181,1
    - Dst: ipmi::message::Payload::fullyUnpacked
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:181,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 184
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/unpack.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_NE
    - ASSERT_EQ
    - ipmi::message::Payload::unpack
    - ipmi::message::Payload::fullyUnpacked
    - ASSERT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(Uints, Uint64InsufficientBytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:192,1
    - Dst: ipmi::message::Payload::unpack
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:192,1
    - Dst: ASSERT_TRUE
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:194,1
    - Dst: ipmi::message::Payload::fullyUnpacked
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:194,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 198
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/unpack.cpp
    functionUses: 0
    functionsReached:
    - ipmi::message::Payload::unpack
    - ASSERT_TRUE
    - ipmi::message::Payload::fullyUnpacked
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(Uints, Uint24)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:206,1
    - Dst: ipmi::message::Payload::unpack
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:206,1
    - Dst: ASSERT_FALSE
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:208,1
    - Dst: ipmi::message::Payload::fullyUnpacked
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:208,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 212
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/unpack.cpp
    functionUses: 0
    functionsReached:
    - ipmi::message::Payload::unpack
    - ipmi::message::Payload::fullyUnpacked
    - ASSERT_FALSE
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(FixedInts, Uint24TooManyBytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:220,1
    - Dst: ipmi::message::Payload::unpack
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:220,1
    - Dst: ASSERT_FALSE
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:222,1
    - Dst: ipmi::message::Payload::fullyUnpacked
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:222,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 225
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/unpack.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_NE
    - ASSERT_EQ
    - ipmi::message::Payload::unpack
    - ipmi::message::Payload::fullyUnpacked
    - ASSERT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(FixedInts, Uint24InsufficientBytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:236,1
    - Dst: ipmi::message::Payload::unpack
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:236,1
    - Dst: ASSERT_TRUE
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:238,1
    - Dst: ipmi::message::Payload::fullyUnpacked
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:238,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:242,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 244
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/unpack.cpp
    functionUses: 0
    functionsReached:
    - ipmi::message::Payload::unpack
    - ASSERT_TRUE
    - ipmi::message::Payload::fullyUnpacked
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(FixedInts, Uint3Uint5)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:254,1
    - Dst: ipmi::message::Payload::unpack
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:254,1
    - Dst: ASSERT_FALSE
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:256,1
    - Dst: ipmi::message::Payload::fullyUnpacked
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:256,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:260,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 262
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/unpack.cpp
    functionUses: 0
    functionsReached:
    - ipmi::message::Payload::unpack
    - ipmi::message::Payload::fullyUnpacked
    - ASSERT_FALSE
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(FixedInts, Uint3Uint4TooManyBits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:272,1
    - Dst: ipmi::message::Payload::unpack
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:272,1
    - Dst: ASSERT_FALSE
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:274,1
    - Dst: ipmi::message::Payload::fullyUnpacked
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:274,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:277,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 280
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/unpack.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_NE
    - ASSERT_EQ
    - ipmi::message::Payload::unpack
    - ipmi::message::Payload::fullyUnpacked
    - ASSERT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(FixedInts, Uint3Uint6InsufficientBits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:291,1
    - Dst: ipmi::message::Payload::unpack
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:291,1
    - Dst: ASSERT_TRUE
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:293,1
    - Dst: ipmi::message::Payload::fullyUnpacked
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:293,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:297,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:298,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:299,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:300,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:301,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:302,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:303,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 305
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/unpack.cpp
    functionUses: 0
    functionsReached:
    - ipmi::message::Payload::unpack
    - ASSERT_TRUE
    - ipmi::message::Payload::fullyUnpacked
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(Bools, Boolx8)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:317,1
    - Dst: ipmi::message::Payload::unpack
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:317,1
    - Dst: ASSERT_FALSE
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:319,1
    - Dst: ipmi::message::Payload::fullyUnpacked
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:319,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:323,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:324,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:325,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:326,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:327,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:328,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 330
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/unpack.cpp
    functionUses: 0
    functionsReached:
    - ipmi::message::Payload::unpack
    - ipmi::message::Payload::fullyUnpacked
    - ASSERT_FALSE
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(Bools, Boolx8TooManyBits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:342,1
    - Dst: ipmi::message::Payload::unpack
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:342,1
    - Dst: ASSERT_FALSE
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:344,1
    - Dst: ipmi::message::Payload::fullyUnpacked
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:344,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:348,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:349,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:350,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:351,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:352,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:353,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:354,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 356
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/unpack.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_NE
    - ASSERT_EQ
    - ipmi::message::Payload::unpack
    - ipmi::message::Payload::fullyUnpacked
    - ASSERT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(Bools, Boolx8InsufficientBits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:366,1
    - Dst: ipmi::message::Payload::unpack
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:366,1
    - Dst: ASSERT_TRUE
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:368,1
    - Dst: ipmi::message::Payload::fullyUnpacked
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:368,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 372
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/unpack.cpp
    functionUses: 0
    functionsReached:
    - ipmi::message::Payload::unpack
    - ASSERT_TRUE
    - ipmi::message::Payload::fullyUnpacked
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(Bitsets, Bitset8)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:382,1
    - Dst: ipmi::message::Payload::unpack
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:382,1
    - Dst: ASSERT_FALSE
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:384,1
    - Dst: ipmi::message::Payload::fullyUnpacked
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:384,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 388
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/unpack.cpp
    functionUses: 0
    functionsReached:
    - ipmi::message::Payload::unpack
    - ipmi::message::Payload::fullyUnpacked
    - ASSERT_FALSE
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(Bitsets, Bitset7TooManyBits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:398,1
    - Dst: ipmi::message::Payload::unpack
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:398,1
    - Dst: ASSERT_FALSE
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:400,1
    - Dst: ipmi::message::Payload::fullyUnpacked
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:400,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 404
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/unpack.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_NE
    - ASSERT_EQ
    - ipmi::message::Payload::unpack
    - ipmi::message::Payload::fullyUnpacked
    - ASSERT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(Bitsets, Bitset9InsufficientBits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:415,1
    - Dst: ipmi::message::Payload::unpack
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:415,1
    - Dst: ASSERT_TRUE
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:417,1
    - Dst: ipmi::message::Payload::fullyUnpacked
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:417,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:421,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 423
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/unpack.cpp
    functionUses: 0
    functionsReached:
    - ipmi::message::Payload::unpack
    - ASSERT_TRUE
    - ipmi::message::Payload::fullyUnpacked
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(Bitsets, Bitset3Bitset5)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:433,1
    - Dst: ipmi::message::Payload::unpack
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:433,1
    - Dst: ASSERT_FALSE
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:435,1
    - Dst: ipmi::message::Payload::fullyUnpacked
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:435,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:439,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 441
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/unpack.cpp
    functionUses: 0
    functionsReached:
    - ipmi::message::Payload::unpack
    - ipmi::message::Payload::fullyUnpacked
    - ASSERT_FALSE
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(Bitsets, Bitset3Bitset4TooManyBits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:451,1
    - Dst: ipmi::message::Payload::unpack
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:451,1
    - Dst: ASSERT_FALSE
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:453,1
    - Dst: ipmi::message::Payload::fullyUnpacked
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:453,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:456,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:458,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 459
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/unpack.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_NE
    - ASSERT_EQ
    - ipmi::message::Payload::unpack
    - ipmi::message::Payload::fullyUnpacked
    - ASSERT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(Bitsets, Bitset3Bitset6InsufficientBits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:470,1
    - Dst: ipmi::message::Payload::unpack
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:470,1
    - Dst: ASSERT_TRUE
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:472,1
    - Dst: ipmi::message::Payload::fullyUnpacked
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:472,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:475,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 476
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/unpack.cpp
    functionUses: 0
    functionsReached:
    - ipmi::message::Payload::unpack
    - ASSERT_TRUE
    - ipmi::message::Payload::fullyUnpacked
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(Bitsets, Bitset32)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:485,1
    - Dst: ipmi::message::Payload::unpack
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:485,1
    - Dst: ASSERT_FALSE
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:487,1
    - Dst: ipmi::message::Payload::fullyUnpacked
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:487,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 491
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/unpack.cpp
    functionUses: 0
    functionsReached:
    - ipmi::message::Payload::unpack
    - ipmi::message::Payload::fullyUnpacked
    - ASSERT_FALSE
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(Bitsets, Bitset31TooManyBits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:500,1
    - Dst: ipmi::message::Payload::unpack
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:500,1
    - Dst: ASSERT_FALSE
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:502,1
    - Dst: ipmi::message::Payload::fullyUnpacked
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:502,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 505
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/unpack.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_NE
    - ASSERT_EQ
    - ipmi::message::Payload::unpack
    - ipmi::message::Payload::fullyUnpacked
    - ASSERT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(Bitsets, Bitset33InsufficientBits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:514,1
    - Dst: ipmi::message::Payload::unpack
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:514,1
    - Dst: ASSERT_TRUE
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:516,1
    - Dst: ipmi::message::Payload::fullyUnpacked
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:516,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 520
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/unpack.cpp
    functionUses: 0
    functionsReached:
    - ipmi::message::Payload::unpack
    - ASSERT_TRUE
    - ipmi::message::Payload::fullyUnpacked
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(Arrays, Array4xUint8)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:530,1
    - Dst: ipmi::message::Payload::unpack
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:530,1
    - Dst: ASSERT_FALSE
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:532,1
    - Dst: ipmi::message::Payload::fullyUnpacked
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:532,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 536
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/unpack.cpp
    functionUses: 0
    functionsReached:
    - ipmi::message::Payload::unpack
    - ipmi::message::Payload::fullyUnpacked
    - ASSERT_FALSE
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(Arrays, Array4xUint8TooManyBytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:546,1
    - Dst: ipmi::message::Payload::unpack
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:546,1
    - Dst: ASSERT_FALSE
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:548,1
    - Dst: ipmi::message::Payload::fullyUnpacked
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:548,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:553,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 554
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/unpack.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_NE
    - ASSERT_EQ
    - ipmi::message::Payload::unpack
    - ipmi::message::Payload::fullyUnpacked
    - ASSERT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(Arrays, Array4xUint8InsufficientBytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:569,1
    - Dst: ipmi::message::Payload::unpack
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:569,1
    - Dst: ASSERT_TRUE
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:571,1
    - Dst: ipmi::message::Payload::fullyUnpacked
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:571,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:575,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 576
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/unpack.cpp
    functionUses: 0
    functionsReached:
    - ipmi::message::Payload::unpack
    - ASSERT_TRUE
    - ipmi::message::Payload::fullyUnpacked
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(Arrays, Array4xUint32)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:593,1
    - Dst: ipmi::message::Payload::unpack
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:593,1
    - Dst: ASSERT_FALSE
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:595,1
    - Dst: ipmi::message::Payload::fullyUnpacked
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:595,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:599,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 600
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/unpack.cpp
    functionUses: 0
    functionsReached:
    - ipmi::message::Payload::unpack
    - ipmi::message::Payload::fullyUnpacked
    - ASSERT_FALSE
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(Arrays, Array4xUint32TooManyBytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:616,1
    - Dst: ipmi::message::Payload::unpack
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:616,1
    - Dst: ASSERT_FALSE
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:618,1
    - Dst: ipmi::message::Payload::fullyUnpacked
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:618,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 623
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/unpack.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_NE
    - ASSERT_EQ
    - ipmi::message::Payload::unpack
    - ipmi::message::Payload::fullyUnpacked
    - ASSERT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(Arrays, Array4xUint32InsufficientBytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:638,1
    - Dst: ipmi::message::Payload::unpack
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:638,1
    - Dst: ASSERT_TRUE
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:640,1
    - Dst: ipmi::message::Payload::fullyUnpacked
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:640,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:643,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 644
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/unpack.cpp
    functionUses: 0
    functionsReached:
    - ipmi::message::Payload::unpack
    - ASSERT_TRUE
    - ipmi::message::Payload::fullyUnpacked
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(Vectors, VectorUint32)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:663,1
    - Dst: ipmi::message::Payload::unpack
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:663,1
    - Dst: ASSERT_FALSE
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:665,1
    - Dst: ipmi::message::Payload::fullyUnpacked
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:665,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:670,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 671
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/unpack.cpp
    functionUses: 0
    functionsReached:
    - ipmi::message::Payload::unpack
    - ipmi::message::Payload::fullyUnpacked
    - ASSERT_FALSE
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(Vectors, VectorUint32NonIntegralBytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:680,1
    - Dst: ipmi::message::Payload::unpack
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:680,1
    - Dst: ASSERT_TRUE
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:682,1
    - Dst: ipmi::message::Payload::fullyUnpacked
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:682,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 673
    functionDepth: 0
    functionLinenumber: 673
    functionLinenumberEnd: 686
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/unpack.cpp
    functionUses: 0
    functionsReached:
    - ipmi::message::Payload::unpack
    - ASSERT_TRUE
    - ipmi::message::Payload::fullyUnpacked
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(Vectors, VectorUint8)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:695,1
    - Dst: ipmi::message::Payload::unpack
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:695,1
    - Dst: ASSERT_TRUE
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:697,1
    - Dst: ipmi::message::Payload::fullyUnpacked
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:697,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:700,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 701
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/unpack.cpp
    functionUses: 0
    functionsReached:
    - ipmi::message::Payload::unpack
    - ASSERT_TRUE
    - ipmi::message::Payload::fullyUnpacked
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(Vectors, VectorEmptyOk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:710,1
    - Dst: ipmi::message::Payload::unpack
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:710,1
    - Dst: ASSERT_TRUE
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:712,1
    - Dst: ipmi::message::Payload::fullyUnpacked
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:712,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:715,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 703
    functionDepth: 0
    functionLinenumber: 703
    functionLinenumberEnd: 716
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/unpack.cpp
    functionUses: 0
    functionsReached:
    - ipmi::message::Payload::unpack
    - ASSERT_TRUE
    - ipmi::message::Payload::fullyUnpacked
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(Vectors, VectorOfTuplesOk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:725,1
    - Dst: ipmi::message::Payload::unpack
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:725,1
    - Dst: ASSERT_FALSE
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:727,1
    - Dst: ipmi::message::Payload::fullyUnpacked
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:727,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:730,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 718
    functionDepth: 0
    functionLinenumber: 718
    functionLinenumberEnd: 731
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/unpack.cpp
    functionUses: 0
    functionsReached:
    - ipmi::message::Payload::unpack
    - ipmi::message::Payload::fullyUnpacked
    - ASSERT_FALSE
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(Vectors, VectorOfTuplesInsufficientBytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:745,1
    - Dst: ipmi::message::Payload::unpack
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:745,1
    - Dst: ASSERT_TRUE
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:747,1
    - Dst: ipmi::message::Payload::fullyUnpacked
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:747,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:750,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 738
    functionDepth: 0
    functionLinenumber: 738
    functionLinenumberEnd: 751
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/unpack.cpp
    functionUses: 0
    functionsReached:
    - ipmi::message::Payload::unpack
    - ASSERT_TRUE
    - ipmi::message::Payload::fullyUnpacked
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(UnpackAdvanced, OptionalOk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:760,1
    - Dst: ipmi::message::Payload::unpack
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:760,1
    - Dst: ASSERT_FALSE
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:762,1
    - Dst: ipmi::message::Payload::fullyUnpacked
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:762,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:765,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 753
    functionDepth: 0
    functionLinenumber: 753
    functionLinenumberEnd: 766
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/unpack.cpp
    functionUses: 0
    functionsReached:
    - ipmi::message::Payload::unpack
    - ipmi::message::Payload::fullyUnpacked
    - ASSERT_FALSE
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(UnpackAdvanced, OptionalInsufficientBytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:783,1
    - Dst: ipmi::message::Payload::unpack
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:783,1
    - Dst: ASSERT_TRUE
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:785,1
    - Dst: ipmi::message::Payload::fullyUnpacked
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:785,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:791,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:792,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:793,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:794,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 768
    functionDepth: 0
    functionLinenumber: 768
    functionLinenumberEnd: 795
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/unpack.cpp
    functionUses: 0
    functionsReached:
    - ipmi::message::Payload::unpack
    - ASSERT_TRUE
    - ipmi::message::Payload::fullyUnpacked
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(UnpackAdvanced, Uints)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:809,1
    - Dst: ipmi::message::Payload::unpack
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:809,1
    - Dst: ASSERT_TRUE
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:811,1
    - Dst: ipmi::message::Payload::fullyUnpacked
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:811,1
    - Dst: std::make_tuple
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:816,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:818,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 819
      start: 797
    functionDepth: 0
    functionLinenumber: 797
    functionLinenumberEnd: 819
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/unpack.cpp
    functionUses: 0
    functionsReached:
    - std::make_tuple
    - ASSERT_EQ
    - ipmi::message::Payload::unpack
    - ASSERT_TRUE
    - ipmi::message::Payload::fullyUnpacked
    linkageType: ''
    returnType: void
    signature: void TEST(UnpackAdvanced, TupleInts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:838,1
    - Dst: ipmi::message::Payload::unpack
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:838,1
    - Dst: ASSERT_TRUE
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:840,1
    - Dst: ipmi::message::Payload::fullyUnpacked
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:840,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:847,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:848,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:849,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:850,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:851,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 821
    functionDepth: 0
    functionLinenumber: 821
    functionLinenumberEnd: 852
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/unpack.cpp
    functionUses: 0
    functionsReached:
    - ipmi::message::Payload::unpack
    - ASSERT_TRUE
    - ipmi::message::Payload::fullyUnpacked
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(UnpackAdvanced, BoolsnBitfieldsnFixedIntsOhMy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:879,1
    - Dst: ipmi::message::Payload::unpack
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:879,1
    - Dst: ASSERT_TRUE
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:881,1
    - Dst: ipmi::message::Payload::fullyUnpacked
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:881,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:890,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:891,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:892,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:893,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:894,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:895,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/unpack.cpp:896,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 854
    functionDepth: 0
    functionLinenumber: 854
    functionLinenumberEnd: 897
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/unpack.cpp
    functionUses: 0
    functionsReached:
    - ipmi::message::Payload::unpack
    - ASSERT_TRUE
    - ipmi::message::Payload::fullyUnpacked
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(UnpackAdvanced, UnalignedBitUnpacking)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::SecureBuffer::size
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:30,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:32,1
    - Dst: ipmi::message::Payload::size
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 33
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/payload.cpp
    functionUses: 0
    functionsReached:
    - ipmi::SecureBuffer::size
    - ipmi::message::Payload::size
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(Payload, InputSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:38,1
    - Dst: ipmi::message::Payload::size
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:38,1
    - Dst: ipmi::message::Payload::pack
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:40,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:41,1
    - Dst: ipmi::SecureBuffer::size
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:41,1
    - Dst: ipmi::message::Payload::size
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:41,1
    - Dst: ipmi::message::Payload::pack
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:42,1
    - Dst: ipmi::message::Payload::pack
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:43,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:44,1
    - Dst: ipmi::SecureBuffer::size
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:44,1
    - Dst: ipmi::message::Payload::size
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 45
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/payload.cpp
    functionUses: 0
    functionsReached:
    - ipmi::SecureBuffer::size
    - ipmi::message::Payload::pack
    - ipmi::message::Payload::size
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(Payload, OutputSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::Payload::pack
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:51,1
    - Dst: ipmi::message::Payload::resize
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:52,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:53,1
    - Dst: ipmi::message::Payload::size
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 54
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/payload.cpp
    functionUses: 0
    functionsReached:
    - ipmi::message::Payload::resize
    - ipmi::message::Payload::pack
    - ipmi::message::Payload::size
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(Payload, Resize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::Payload::pack
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:60,1
    - Dst: ASSERT_NE
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:61,1
    - Dst: ipmi::message::Payload::data
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 62
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/payload.cpp
    functionUses: 0
    functionsReached:
    - ipmi::message::Payload::pack
    - ipmi::message::Payload::data
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(Payload, Data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::Payload::append
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:68,1
    - Dst: std::string::data
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:68,1
    - Dst: std::string::data
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:68,1
    - Dst: std::string::size
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:68,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:69,1
    - Dst: std::string::size
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:69,1
    - Dst: ipmi::message::Payload::size
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 70
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/payload.cpp
    functionUses: 0
    functionsReached:
    - ipmi::message::Payload::size
    - std::string::data
    - ASSERT_EQ
    - ipmi::message::Payload::append
    - std::string::size
    linkageType: ''
    returnType: void
    signature: void TEST(PayloadResponse, Append)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::Payload::pack
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:78,1
    - Dst: ipmi::message::Payload::append
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:79,1
    - Dst: std::string::data
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:79,1
    - Dst: std::string::data
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:79,1
    - Dst: std::string::size
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:79,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:81,1
    - Dst: std::string::size
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:81,1
    - Dst: ipmi::message::Payload::size
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 82
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/payload.cpp
    functionUses: 0
    functionsReached:
    - ipmi::message::Payload::size
    - std::string::data
    - ipmi::message::Payload::pack
    - ASSERT_EQ
    - ipmi::message::Payload::append
    - std::string::size
    linkageType: ''
    returnType: void
    signature: void TEST(PayloadResponse, AppendDrain)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::Payload::appendBits
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:87,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:88,1
    - Dst: ipmi::message::Payload::appendBits
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:89,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:90,1
    - Dst: ipmi::message::Payload::appendBits
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:91,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:92,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:93,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:95,1
    - Dst: ipmi::message::Payload::size
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:95,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:97,1
    - Dst: ipmi::message::Payload::appendBits
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:98,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:100,1
    - Dst: ipmi::message::Payload::size
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:100,1
    - Dst: ipmi::message::Payload::drain
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:101,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:103,1
    - Dst: ipmi::message::Payload::size
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:103,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 106
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/payload.cpp
    functionUses: 0
    functionsReached:
    - ipmi::message::Payload::drain
    - ipmi::message::Payload::appendBits
    - ipmi::message::Payload::size
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(PayloadResponse, AppendBits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::Payload::drain
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:113,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:114,1
    - Dst: ipmi::message::Payload::size
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:114,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:115,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:116,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 119
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/payload.cpp
    functionUses: 0
    functionsReached:
    - ipmi::message::Payload::drain
    - ipmi::message::Payload::size
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(PayloadResponse, Drain16Bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::Payload::drain
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:126,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:127,1
    - Dst: ipmi::message::Payload::size
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:127,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:128,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:129,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 132
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/payload.cpp
    functionUses: 0
    functionsReached:
    - ipmi::message::Payload::drain
    - ipmi::message::Payload::size
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(PayloadResponse, Drain15Bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::Payload::drain
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:139,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:141,1
    - Dst: ipmi::message::Payload::size
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:141,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:142,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:143,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 146
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/payload.cpp
    functionUses: 0
    functionsReached:
    - ipmi::message::Payload::drain
    - ipmi::message::Payload::size
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(PayloadResponse, Drain15BitsWholeBytesOnly)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::Payload::pop
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:152,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 156
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/payload.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ipmi::message::Payload::pop
    linkageType: ''
    returnType: void
    signature: void TEST(PayloadRequest, Pop)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::Payload::fillBits
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:162,1
    - Dst: ASSERT_FALSE
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:163,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:164,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:165,1
    - Dst: ipmi::message::Payload::fillBits
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:167,1
    - Dst: ASSERT_FALSE
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:168,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:169,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:170,1
    - Dst: ipmi::message::Payload::popBits
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:172,1
    - Dst: ipmi::message::Payload::fillBits
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:174,1
    - Dst: ASSERT_FALSE
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:175,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:176,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 178
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/payload.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_FALSE
    - ipmi::message::Payload::fillBits
    - ipmi::message::Payload::popBits
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(PayloadRequest, FillBits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::Payload::fillBits
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:184,1
    - Dst: ASSERT_TRUE
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 186
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/payload.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ipmi::message::Payload::fillBits
    linkageType: ''
    returnType: void
    signature: void TEST(PayloadRequest, FillBitsTooManyBits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::Payload::fillBits
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:192,1
    - Dst: ASSERT_TRUE
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 194
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/payload.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ipmi::message::Payload::fillBits
    linkageType: ''
    returnType: void
    signature: void TEST(PayloadRequest, FillBitsNotEnoughBytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::Payload::fillBits
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:200,1
    - Dst: ipmi::message::Payload::popBits
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:201,1
    - Dst: ASSERT_FALSE
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:202,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:203,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:204,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 206
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/payload.cpp
    functionUses: 0
    functionsReached:
    - ipmi::message::Payload::popBits
    - ipmi::message::Payload::fillBits
    - ASSERT_FALSE
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(PayloadRequest, PopBits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::Payload::popBits
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:212,1
    - Dst: ASSERT_TRUE
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 214
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/payload.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ipmi::message::Payload::popBits
    linkageType: ''
    returnType: void
    signature: void TEST(PayloadRequest, PopBitsNoFillBits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::Payload::fillBits
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:220,1
    - Dst: ASSERT_FALSE
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:221,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:222,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:223,1
    - Dst: ipmi::message::Payload::discardBits
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:224,1
    - Dst: ASSERT_FALSE
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:225,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:226,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 228
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/payload.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_FALSE
    - ipmi::message::Payload::fillBits
    - ipmi::message::Payload::discardBits
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(PayloadRequest, DiscardBits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::Payload::unpack
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:235,1
    - Dst: ASSERT_FALSE
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:237,1
    - Dst: ipmi::message::Payload::fullyUnpacked
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:237,1
    - Dst: ipmi::message::Payload::fillBits
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:238,1
    - Dst: ipmi::message::Payload::popBits
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:239,1
    - Dst: ASSERT_FALSE
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:241,1
    - Dst: ipmi::message::Payload::fullyUnpacked
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:241,1
    - Dst: ipmi::message::Payload::fillBits
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:242,1
    - Dst: ipmi::message::Payload::popBits
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:243,1
    - Dst: ASSERT_TRUE
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:245,1
    - Dst: ipmi::message::Payload::fullyUnpacked
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:245,1
    - Dst: ipmi::message::Payload::fillBits
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:246,1
    - Dst: ASSERT_FALSE
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:248,1
    - Dst: ipmi::message::Payload::fullyUnpacked
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 249
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/payload.cpp
    functionUses: 0
    functionsReached:
    - ipmi::message::Payload::unpack
    - ipmi::message::Payload::fullyUnpacked
    - ipmi::message::Payload::fillBits
    - ipmi::message::Payload::popBits
    - ASSERT_TRUE
    - ASSERT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(PayloadRequest, FullyUnpacked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::Payload::fillBits
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:255,1
    - Dst: ipmi::message::Payload::reset
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:257,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:258,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:259,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:260,1
    - Dst: ASSERT_FALSE
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 262
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/payload.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_FALSE
    - ipmi::message::Payload::reset
    - ipmi::message::Payload::fillBits
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(PayloadRequest, ResetInternal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:273,1
    - Dst: ipmi::message::Payload::unpack
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:273,1
    - Dst: ASSERT_FALSE
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:275,1
    - Dst: ipmi::message::Payload::fullyUnpacked
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:275,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:278,1
    - Dst: ipmi::message::Payload::reset
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:280,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:284,1
    - Dst: ipmi::message::Payload::unpack
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:284,1
    - Dst: ASSERT_TRUE
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:286,1
    - Dst: ipmi::message::Payload::fullyUnpacked
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:286,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 290
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/payload.cpp
    functionUses: 0
    functionsReached:
    - ipmi::message::Payload::reset
    - ASSERT_EQ
    - ipmi::message::Payload::unpack
    - ipmi::message::Payload::fullyUnpacked
    - ASSERT_TRUE
    - ASSERT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(PayloadRequest, ResetUsage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:299,1
    - Dst: ipmi::message::Payload::unpack
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:299,1
    - Dst: ASSERT_FALSE
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:301,1
    - Dst: ipmi::message::Payload::fullyUnpacked
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:301,1
    - Dst: ASSERT_FALSE
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:302,1
    - Dst: ASSERT_FALSE
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:304,1
    - Dst: ipmi::message::Payload::fullyUnpacked
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:304,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:307,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:310,1
    - Dst: ipmi::message::Payload::unpack
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:310,1
    - Dst: ASSERT_TRUE
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:311,1
    - Dst: ipmi::message::Payload::fullyUnpacked
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:311,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 314
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/message/payload.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ipmi::message::Payload::unpack
    - ipmi::message::Payload::fullyUnpacked
    - ASSERT_TRUE
    - ASSERT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(PayloadRequest, PartialPayload)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:322,1
    - Dst: std::string
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - iov
    argTypes:
    - struct iovec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 324
    functionName: sd_journal_sendv
    functionSourceFile: /src/phosphor-host-ipmid/test/message/payload.cpp
    functionUses: 0
    functionsReached:
    - push_back
    - std::string
    linkageType: ''
    returnType: int
    signature: int sd_journal_sendv(const struct iovec* iov, int /* n */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 333
    functionName: PayloadLogging::SetUp
    functionSourceFile: /src/phosphor-host-ipmid/test/message/payload.cpp
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void SetUp()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:341,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 342
    functionName: TEST_F
    functionSourceFile: /src/phosphor-host-ipmid/test/message/payload.cpp
    functionUses: 0
    functionsReached:
    - size
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_F(PayloadLogging, TrailingOk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:350,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 351
    functionName: TEST_F
    functionSourceFile: /src/phosphor-host-ipmid/test/message/payload.cpp
    functionUses: 0
    functionsReached:
    - size
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_F(PayloadLogging, EnforcingUnchecked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::Payload::unpack
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:359,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:361,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 362
    functionName: TEST_F
    functionSourceFile: /src/phosphor-host-ipmid/test/message/payload.cpp
    functionUses: 0
    functionsReached:
    - ipmi::message::Payload::unpack
    - size
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_F(PayloadLogging, EnforcingUncheckedUnpacked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::Payload::unpack
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:370,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:372,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 373
    functionName: TEST_F
    functionSourceFile: /src/phosphor-host-ipmid/test/message/payload.cpp
    functionUses: 0
    functionsReached:
    - ipmi::message::Payload::unpack
    - size
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_F(PayloadLogging, EnforcingUncheckedError)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:380,1
    - Dst: ipmi::message::Payload::fullyUnpacked
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:380,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:382,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 383
    functionName: TEST_F
    functionSourceFile: /src/phosphor-host-ipmid/test/message/payload.cpp
    functionUses: 0
    functionsReached:
    - ipmi::message::Payload::fullyUnpacked
    - size
    - EXPECT_EQ
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(PayloadLogging, EnforcingChecked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::Payload::unpack
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:391,1
    - Dst: EXPECT_TRUE
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:392,1
    - Dst: ipmi::message::Payload::fullyUnpacked
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:392,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:394,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 395
    functionName: TEST_F
    functionSourceFile: /src/phosphor-host-ipmid/test/message/payload.cpp
    functionUses: 0
    functionsReached:
    - size
    - ipmi::message::Payload::unpack
    - ipmi::message::Payload::fullyUnpacked
    - EXPECT_TRUE
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_F(PayloadLogging, EnforcingCheckedUnpacked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::Payload::unpack
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:404,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:406,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:406,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:408,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 409
    functionName: TEST_F
    functionSourceFile: /src/phosphor-host-ipmid/test/message/payload.cpp
    functionUses: 0
    functionsReached:
    - ipmi::message::Payload::unpack
    - size
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_F(PayloadLogging, EnforcingUnpackPayload)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:418,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:420,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:420,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:422,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 423
    functionName: TEST_F
    functionSourceFile: /src/phosphor-host-ipmid/test/message/payload.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - size
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_F(PayloadLogging, EnforcingMove)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::runtime_error
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:431,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:435,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/test/message/payload.cpp:435,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 436
    functionName: TEST_F
    functionSourceFile: /src/phosphor-host-ipmid/test/message/payload.cpp
    functionUses: 0
    functionsReached:
    - std::runtime_error
    - size
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_F(PayloadLogging, EnforcingException)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pow
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:36,1
    - Dst: pow
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:36,1
    - Dst: pow
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:45,1
    - Dst: pow
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:45,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 6
    argNames:
    - x
    - m
    - k2_rExp
    - b
    - k1_bExp
    - bSigned
    argTypes:
    - uint8_t
    - int
    - int
    - int
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 56
    functionName: ipmitool_y_from_x
    functionSourceFile: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp
    functionUses: 0
    functionsReached:
    - pow
    linkageType: ''
    returnType: double
    signature: "double ipmitool_y_from_x(uint8_t x, int m, int k2_rExp, int b, int
      k1_bExp,\n                         bool bSigned)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::scaleIPMIValueFromDouble
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:71,1
    - Dst: ipmitool_y_from_x
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:74,1
    - Dst: EXPECT_NEAR
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:76,1
    - Dst: ipmi::scaleIPMIValueFromDouble
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:82,1
    - Dst: ipmitool_y_from_x
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:85,1
    - Dst: EXPECT_NEAR
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:87,1
    - Dst: EXPECT_NEAR
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:94,1
    - Dst: sprintf
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 8
    argNames:
    - x
    - y
    - M
    - rExp
    - B
    - bExp
    - bSigned
    - yRange
    argTypes:
    - int
    - double
    - int16_t
    - int8_t
    - int16_t
    - int8_t
    - bool
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 103
    functionName: testValue
    functionSourceFile: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp
    functionUses: 1
    functionsReached:
    - ipmitool_y_from_x
    - ipmi::scaleIPMIValueFromDouble
    - EXPECT_NEAR
    - sprintf
    linkageType: ''
    returnType: void
    signature: "void testValue(int x, double y, int16_t M, int8_t rExp, int16_t B,
      int8_t bExp,\n               bool bSigned, double yRange)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getSensorAttributes
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:114,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:116,1
    - Dst: sprintf
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:124,1
    - Dst: testValue
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:147,1
    - Dst: testValue
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:148,1
    - Dst: testValue
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:149,1
    - Dst: testValue
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:150,1
    - Dst: testValue
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:151,1
    - Dst: testValue
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:161,1
    - Dst: testValue
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:162,1
    - Dst: testValue
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:163,1
    - Dst: testValue
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:164,1
    - Dst: testValue
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 2
    argNames:
    - yMin
    - yMax
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 167
    functionName: testBounds
    functionSourceFile: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp
    functionUses: 0
    functionsReached:
    - ipmi::getSensorAttributes
    - testValue
    - EXPECT_EQ
    - sprintf
    linkageType: ''
    returnType: void
    signature: void testBounds(double yMin, double yMax, bool bExpectedOutcome = true)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testBounds
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:172,1
    - Dst: testBounds
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:173,1
    - Dst: testBounds
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:174,1
    - Dst: testBounds
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:175,1
    - Dst: testBounds
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:176,1
    - Dst: testBounds
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:177,1
    - Dst: testBounds
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:178,1
    - Dst: testBounds
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:179,1
    - Dst: testBounds
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:180,1
    - Dst: testBounds
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:183,1
    - Dst: testBounds
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:184,1
    - Dst: testBounds
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:185,1
    - Dst: testBounds
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:186,1
    - Dst: testBounds
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:187,1
    - Dst: testBounds
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:188,1
    - Dst: testBounds
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:189,1
    - Dst: testBounds
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:190,1
    - Dst: testBounds
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:191,1
    - Dst: testBounds
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:192,1
    - Dst: testBounds
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:195,1
    - Dst: testBounds
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:196,1
    - Dst: testBounds
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:197,1
    - Dst: testBounds
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:198,1
    - Dst: testBounds
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:199,1
    - Dst: testBounds
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:200,1
    - Dst: testBounds
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:201,1
    - Dst: testBounds
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:202,1
    - Dst: testBounds
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:203,1
    - Dst: testBounds
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:204,1
    - Dst: testBounds
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:205,1
    - Dst: testBounds
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:206,1
    - Dst: testBounds
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:207,1
    - Dst: testBounds
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:208,1
    - Dst: testBounds
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:209,1
    - Dst: testBounds
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:210,1
    - Dst: testBounds
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:213,1
    - Dst: testBounds
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:214,1
    - Dst: testBounds
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:215,1
    - Dst: testBounds
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:216,1
    - Dst: testBounds
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:217,1
    - Dst: testBounds
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:218,1
    - Dst: testBounds
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:219,1
    - Dst: testBounds
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:220,1
    - Dst: testBounds
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:221,1
    - Dst: testBounds
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:222,1
    - Dst: testBounds
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:223,1
    - Dst: testBounds
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:224,1
    - Dst: testBounds
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:227,1
    - Dst: testBounds
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:228,1
    - Dst: testBounds
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:229,1
    - Dst: testBounds
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:230,1
    - Dst: testBounds
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:231,1
    - Dst: testBounds
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:232,1
    - Dst: testBounds
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:233,1
    - Dst: testBounds
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:236,1
    - Dst: testBounds
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:237,1
    - Dst: testBounds
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:238,1
    - Dst: testBounds
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:239,1
    - Dst: testBounds
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:240,1
    - Dst: testBounds
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:241,1
    - Dst: testBounds
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:244,1
    - Dst: std::pow
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:244,1
    - Dst: testBounds
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:245,1
    - Dst: std::pow
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:245,1
    - Dst: testBounds
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:246,1
    - Dst: std::pow
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:246,1
    - Dst: std::pow
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:246,1
    - Dst: testBounds
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:247,1
    - Dst: std::pow
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:247,1
    - Dst: std::pow
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:247,1
    - Dst: testBounds
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:250,1
    - Dst: testBounds
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:251,1
    - Dst: testBounds
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:254,1
    - Dst: testBounds
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:255,1
    - Dst: testBounds
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:256,1
    - Dst: testBounds
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:257,1
    - Dst: testBounds
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:258,1
    - Dst: testBounds
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:259,1
    - Dst: testBounds
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:260,1
    - Dst: testBounds
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:263,1
    - Dst: testBounds
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:264,1
    - Dst: testBounds
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:265,1
    - Dst: testBounds
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:266,1
    - Dst: testBounds
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:267,1
    - Dst: testBounds
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:276,1
    - Dst: testBounds
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:277,1
    - Dst: testBounds
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:278,1
    - Dst: testBounds
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:279,1
    - Dst: testBounds
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:280,1
    - Dst: testBounds
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:281,1
    - Dst: testBounds
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:282,1
    - Dst: testBounds
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:283,1
    - Dst: testBounds
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:284,1
    - Dst: testBounds
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:285,1
    - Dst: testBounds
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:286,1
    - Dst: testBounds
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:287,1
    - Dst: testBounds
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:290,1
    - Dst: testBounds
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:296,1
    - Dst: testBounds
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:297,1
    - Dst: testBounds
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:298,1
    - Dst: testBounds
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:299,1
    - Dst: testBounds
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:300,1
    - Dst: testBounds
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 98
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 169
    functionDepth: 3
    functionLinenumber: 169
    functionLinenumberEnd: 303
    functionName: testRanges
    functionSourceFile: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp
    functionUses: 0
    functionsReached:
    - testBounds
    - std::pow
    linkageType: ''
    returnType: void
    signature: void testRanges(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getSensorAttributes
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:321,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:323,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:326,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:327,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:328,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:329,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:330,1
    - Dst: ipmi::scaleIPMIValueFromDouble
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:333,1
    - Dst: EXPECT_NEAR
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:335,1
    - Dst: ipmi::getSensorAttributes
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:341,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:343,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:347,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:348,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:349,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:350,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:351,1
    - Dst: ipmi::scaleIPMIValueFromDouble
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:356,1
    - Dst: EXPECT_NEAR
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:358,1
    - Dst: ipmi::getSensorAttributes
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:364,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:366,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:369,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:370,1
    - Dst: floor
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:370,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:371,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:372,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:373,1
    - Dst: ipmi::getSensorAttributes
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:380,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:382,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:385,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:386,1
    - Dst: floor
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:386,1
    - Dst: std::pow
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:386,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:387,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:388,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:389,1
    - Dst: ipmi::scaleIPMIValueFromDouble
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:391,1
    - Dst: std::pow
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:394,1
    - Dst: EXPECT_NEAR
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:395,1
    - Dst: ipmi::getSensorAttributes
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:401,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:403,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:407,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:408,1
    - Dst: floor
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:408,1
    - Dst: std::pow
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:408,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:409,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:410,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:411,1
    - Dst: ipmi::getSensorAttributes
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:418,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:420,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:423,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:424,1
    - Dst: floor
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:424,1
    - Dst: std::pow
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:424,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:425,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:429,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:430,1
    - Dst: ipmi::scaleIPMIValueFromDouble
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:434,1
    - Dst: std::pow
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:436,1
    - Dst: EXPECT_NEAR
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:437,1
    - Dst: ipmi::getSensorAttributes
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:443,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:445,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:448,1
    - Dst: ipmi::scaleIPMIValueFromDouble
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:451,1
    - Dst: EXPECT_NEAR
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:455,1
    - Dst: ipmi::getSensorAttributes
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:460,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:462,1
    - Dst: ipmi::getSensorAttributes
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:467,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:469,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:472,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:473,1
    - Dst: floor
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:473,1
    - Dst: std::pow
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:473,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:474,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:475,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:476,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 101
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 478
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp
    functionUses: 0
    functionsReached:
    - ipmi::scaleIPMIValueFromDouble
    - floor
    - EXPECT_NEAR
    - std::pow
    - ipmi::getSensorAttributes
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(sensorutils, TranslateToIPMI)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testRanges
      Src: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp:488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 480
    functionDepth: 4
    functionLinenumber: 480
    functionLinenumberEnd: 489
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp
    functionUses: 0
    functionsReached:
    - testRanges
    linkageType: ''
    returnType: void
    signature: void TEST(sensorUtils, TestRanges)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/phosphor-host-ipmid/test/session/closesession_unittest.cpp:12,1
    - Dst: parseCloseSessionInputPayload
      Src: /src/phosphor-host-ipmid/test/session/closesession_unittest.cpp:13,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/session/closesession_unittest.cpp:14,1
    - Dst: EXPECT_EQ
      Src: /src/phosphor-host-ipmid/test/session/closesession_unittest.cpp:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 5
    functionDepth: 1
    functionLinenumber: 5
    functionLinenumberEnd: 16
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/session/closesession_unittest.cpp
    functionUses: 0
    functionsReached:
    - parseCloseSessionInputPayload
    - EXPECT_TRUE
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(parseSessionInputPayloadTest, ValidObjectPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/phosphor-host-ipmid/test/session/closesession_unittest.cpp:29,1
    - Dst: parseCloseSessionInputPayload
      Src: /src/phosphor-host-ipmid/test/session/closesession_unittest.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 31
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/session/closesession_unittest.cpp
    functionUses: 0
    functionsReached:
    - parseCloseSessionInputPayload
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(parseSessionInputPayloadTest, InvalidObjectPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/phosphor-host-ipmid/test/session/closesession_unittest.cpp:39,1
    - Dst: parseCloseSessionInputPayload
      Src: /src/phosphor-host-ipmid/test/session/closesession_unittest.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 41
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/session/closesession_unittest.cpp
    functionUses: 0
    functionsReached:
    - parseCloseSessionInputPayload
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(parseSessionInputPayloadTest, NoObjectPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/phosphor-host-ipmid/test/session/closesession_unittest.cpp:50,1
    - Dst: isSessionObjectMatched
      Src: /src/phosphor-host-ipmid/test/session/closesession_unittest.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 51
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/session/closesession_unittest.cpp
    functionUses: 0
    functionsReached:
    - isSessionObjectMatched
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(isSessionObjectMatchedTest, ValidSessionId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/phosphor-host-ipmid/test/session/closesession_unittest.cpp:60,1
    - Dst: isSessionObjectMatched
      Src: /src/phosphor-host-ipmid/test/session/closesession_unittest.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 61
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/session/closesession_unittest.cpp
    functionUses: 0
    functionsReached:
    - isSessionObjectMatched
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(isSessionObjectMatchedTest, ValidSessionHandle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/phosphor-host-ipmid/test/session/closesession_unittest.cpp:70,1
    - Dst: isSessionObjectMatched
      Src: /src/phosphor-host-ipmid/test/session/closesession_unittest.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 71
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/session/closesession_unittest.cpp
    functionUses: 0
    functionsReached:
    - isSessionObjectMatched
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(isSessionObjectMatchedTest, InvalidSessionId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/phosphor-host-ipmid/test/session/closesession_unittest.cpp:80,1
    - Dst: isSessionObjectMatched
      Src: /src/phosphor-host-ipmid/test/session/closesession_unittest.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 81
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/session/closesession_unittest.cpp
    functionUses: 0
    functionsReached:
    - isSessionObjectMatched
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(isSessionObjectMatchedTest, InvalidSessionHandle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/phosphor-host-ipmid/test/session/closesession_unittest.cpp:90,1
    - Dst: isSessionObjectMatched
      Src: /src/phosphor-host-ipmid/test/session/closesession_unittest.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 91
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/session/closesession_unittest.cpp
    functionUses: 0
    functionsReached:
    - isSessionObjectMatched
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(isSessionObjectMatchedTest, ZeroSessionId_ZeroSessionHandle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/phosphor-host-ipmid/test/session/closesession_unittest.cpp:104,1
    - Dst: isSessionObjectMatched
      Src: /src/phosphor-host-ipmid/test/session/closesession_unittest.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 105
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/session/closesession_unittest.cpp
    functionUses: 0
    functionsReached:
    - isSessionObjectMatched
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(isSessionObjectMatchedTest, InvalidObjectPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/phosphor-host-ipmid/test/session/closesession_unittest.cpp:113,1
    - Dst: isSessionObjectMatched
      Src: /src/phosphor-host-ipmid/test/session/closesession_unittest.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 114
    functionName: TEST
    functionSourceFile: /src/phosphor-host-ipmid/test/session/closesession_unittest.cpp
    functionUses: 0
    functionsReached:
    - isSessionObjectMatched
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(isSessionObjectMatchedTest, NoObjectPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdeventplus::Event::get_default
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialbridged.cpp:29,1
    - Dst: sdbusplus::bus::new_default
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialbridged.cpp:30,1
    - Dst: auto::attach_event
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialbridged.cpp:31,1
    - Dst: auto::get
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialbridged.cpp:31,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialbridged.cpp:35,1
    - Dst: auto::exit
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialbridged.cpp:36,1
    - Dst: stdplus::signal::block
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialbridged.cpp:38,1
    - Dst: stdplus::signal::block
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialbridged.cpp:40,1
    - Dst: stdplus::fd::open
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialbridged.cpp:44,1
    - Dst: std::format
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialbridged.cpp:45,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialbridged.cpp:45,1
    - Dst: OpenFlags
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialbridged.cpp:46,1
    - Dst: std::make_unique<SerialChannel>
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialbridged.cpp:50,1
    - Dst: stdplus::ManagedFd::get
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialbridged.cpp:53,1
    - Dst: stdplus::exception::ignore
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialbridged.cpp:54,1
    - Dst: std::unique_ptr::read
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialbridged.cpp:56,1
    - Dst: sd_notify
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialbridged.cpp:59,1
    - Dst: auto::loop
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialbridged.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - ' channel'
    - ' verbose'
    argTypes:
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 61
    functionName: serialbridge::execute
    functionSourceFile: /src/phosphor-host-ipmid/transport/serialbridge/serialbridged.cpp
    functionUses: 0
    functionsReached:
    - std::format
    - stdplus::fd::open
    - stdplus::ManagedFd::get
    - OpenFlags
    - auto::get
    - std::unique_ptr::read
    - sd_notify
    - auto::loop
    - stdplus::signal::block
    - sdbusplus::bus::new_default
    - auto::attach_event
    - c_str
    - std::make_unique<SerialChannel>
    - stdplus::exception::ignore
    - auto::exit
    - lg2::error
    - sdeventplus::Event::get_default
    linkageType: ''
    returnType: int
    signature: int execute(const std::string& channel, const bool& verbose)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdeventplus::Event::get_default
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialbridged.cpp:29,1
    - Dst: sdbusplus::bus::new_default
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialbridged.cpp:30,1
    - Dst: auto::attach_event
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialbridged.cpp:31,1
    - Dst: auto::get
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialbridged.cpp:31,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialbridged.cpp:35,1
    - Dst: auto::exit
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialbridged.cpp:36,1
    - Dst: stdplus::signal::block
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialbridged.cpp:38,1
    - Dst: stdplus::signal::block
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialbridged.cpp:40,1
    - Dst: stdplus::fd::open
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialbridged.cpp:44,1
    - Dst: std::format
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialbridged.cpp:45,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialbridged.cpp:45,1
    - Dst: OpenFlags
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialbridged.cpp:46,1
    - Dst: std::make_unique<SerialChannel>
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialbridged.cpp:50,1
    - Dst: stdplus::ManagedFd::get
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialbridged.cpp:53,1
    - Dst: stdplus::exception::ignore
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialbridged.cpp:54,1
    - Dst: std::unique_ptr::read
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialbridged.cpp:56,1
    - Dst: sd_notify
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialbridged.cpp:59,1
    - Dst: auto::loop
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialbridged.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - ' channel'
    - ' verbose'
    argTypes:
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 61
    functionName: serialbridge::execute
    functionSourceFile: /src/phosphor-host-ipmid/transport/serialbridge/serialbridged.cpp
    functionUses: 0
    functionsReached:
    - std::format
    - stdplus::fd::open
    - stdplus::ManagedFd::get
    - OpenFlags
    - auto::get
    - std::unique_ptr::read
    - sd_notify
    - auto::loop
    - stdplus::signal::block
    - sdbusplus::bus::new_default
    - auto::attach_event
    - c_str
    - std::make_unique<SerialChannel>
    - stdplus::exception::ignore
    - auto::exit
    - lg2::error
    - sdeventplus::Event::get_default
    linkageType: ''
    returnType: int
    signature: int execute(const std::string& channel, const bool& verbose)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLI::App::add_option
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialbridged.cpp:72,1
    - Dst: CLI::App::add_option
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialbridged.cpp:73,1
    - Dst: CLI11_PARSE
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialbridged.cpp:74,1
    - Dst: serialbridge::execute
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialbridged.cpp:78,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialbridged.cpp:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 85
    functionName: main
    functionSourceFile: /src/phosphor-host-ipmid/transport/serialbridge/serialbridged.cpp
    functionUses: 0
    functionsReached:
    - CLI11_PARSE
    - lg2::error
    - serialbridge::execute
    - CLI::App::add_option
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - debug
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: serialbridge::SerialChannel::SerialChannel
    functionSourceFile: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SerialChannel(bool debug)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - debug
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: serialbridge::SerialChannel::SerialChannel
    functionSourceFile: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SerialChannel(bool debug)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::accumulate
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:38,1
    - Dst: std::span<uint8_t>::begin
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:38,1
    - Dst: std::span<uint8_t>::end
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::span<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 43
    functionName: serialbridge::SerialChannel::calculateChecksum
    functionSourceFile: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp
    functionUses: 0
    functionsReached:
    - std::accumulate
    - std::span<uint8_t>::end
    - std::span<uint8_t>::begin
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t SerialChannel::calculateChecksum(std::span<uint8_t> data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:51,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:51,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:51,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - c
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 60
    functionName: serialbridge::SerialChannel::getUnescapedCharacter
    functionSourceFile: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp
    functionUses: 0
    functionsReached:
    - std::find_if
    - end
    - begin
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t SerialChannel::getUnescapedCharacter(uint8_t c)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:69,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:69,1
    - Dst: serialbridge::SerialChannel::getUnescapedCharacter
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:84,1
    - Dst: clear
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:90,1
    - Dst: push_back
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:94,1
    - Dst: clear
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:109,1
    - Dst: push_back
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:114,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 2
    argNames:
    - ' escapedDataBytes'
    - ' unescapedDataBytes'
    argTypes:
    - std::span<uint8_t>
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 119
    functionName: serialbridge::SerialChannel::consumeIpmiSerialPacket
    functionSourceFile: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp
    functionUses: 0
    functionsReached:
    - size
    - reserve
    - serialbridge::SerialChannel::getUnescapedCharacter
    - clear
    - push_back
    linkageType: ''
    returnType: int
    signature: "int SerialChannel::consumeIpmiSerialPacket(\n    std::span<uint8_t>&
      escapedDataBytes,\n    std::vector<uint8_t>& unescapedDataBytes)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::ranges::for_each
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:129,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:129,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:129,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:131,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:132,1
    - Dst: push_back
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:134,1
    - Dst: push_back
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:135,1
    - Dst: push_back
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - ' buffer'
    - ' data'
    argTypes:
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 146
    functionName: serialbridge::SerialChannel::processEscapedCharacter
    functionSourceFile: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp
    functionUses: 0
    functionsReached:
    - std::ranges::for_each
    - end
    - begin
    - find
    - push_back
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t SerialChannel::processEscapedCharacter(std::vector<uint8_t>&
      buffer,\n                                               const std::vector<uint8_t>&
      data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_method_error
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:159,1
    - Dst: get_error
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:162,1
    - Dst: sdbusplus::exception::SdBusError
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:163,1
    - Dst: unpack
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:166,1
    - Dst: clear
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:178,1
    - Dst: reserve
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:179,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:180,1
    - Dst: push_back
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:184,1
    - Dst: serialbridge::SerialChannel::processEscapedCharacter
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:187,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:188,1
    - Dst: serialbridge::SerialChannel::processEscapedCharacter
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:189,1
    - Dst: serialbridge::SerialChannel::processEscapedCharacter
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:192,1
    - Dst: serialbridge::SerialChannel::processEscapedCharacter
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:194,1
    - Dst: std::vector<uint8_t>
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:194,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:195,1
    - Dst: serialbridge::SerialChannel::processEscapedCharacter
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:196,1
    - Dst: push_back
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:199,1
    - Dst: std::span<uint8_t>
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:201,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:201,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:201,1
    - Dst: lg2::info
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:205,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:208,1
    - Dst: std::format
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:214,1
    - Dst: lg2::info
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:216,1
    - Dst: std::string::c_str
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:216,1
    - Dst: stdplus::fd::writeExact
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:219,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:223,1
    - Dst: std::span::size
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:228,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 5
    argNames:
    - ' uart'
    - rsAddr
    - rqAddr
    - seq
    - ' m'
    argTypes:
    - stdplus::Fd
    - uint8_t
    - uint8_t
    - uint8_t
    - sdbusplus::message_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 229
    functionName: serialbridge::SerialChannel::write
    functionSourceFile: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp
    functionUses: 0
    functionsReached:
    - std::format
    - stdplus::fd::writeExact
    - is_method_error
    - static_cast<uint8_t>
    - begin
    - clear
    - std::vector<uint8_t>
    - push_back
    - sdbusplus::exception::SdBusError
    - end
    - lg2::info
    - get_error
    - size
    - reserve
    - serialbridge::SerialChannel::processEscapedCharacter
    - lg2::error
    - std::span<uint8_t>
    - std::string::c_str
    - std::span::size
    - unpack
    linkageType: ''
    returnType: int
    signature: "int SerialChannel::write(stdplus::Fd& uart, uint8_t rsAddr, uint8_t
      rqAddr,\n                         uint8_t seq, sdbusplus::message_t&& m)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: dcmi::temp_readings::read
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:238,1
    - Dst: auto::empty
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:240,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:247,1
    - Dst: sdbusplus::slot_t
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:248,1
    - Dst: serialbridge::SerialChannel::consumeIpmiSerialPacket
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:252,1
    - Dst: lg2::info
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:254,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:259,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:262,1
    - Dst: clear
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:263,1
    - Dst: serialbridge::SerialChannel::calculateChecksum
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:268,1
    - Dst: std::span<uint8_t>
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:268,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:268,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:271,1
    - Dst: clear
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:272,1
    - Dst: serialbridge::SerialChannel::calculateChecksum
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:277,1
    - Dst: std::span<uint8_t>
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:277,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:279,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:281,1
    - Dst: clear
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:282,1
    - Dst: new_method_call
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:286,1
    - Dst: reinterpret_cast<struct IpmiSerialHeader*>
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:292,1
    - Dst: data
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:292,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:301,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:302,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:304,1
    - Dst: std::span::subspan
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:304,1
    - Dst: lg2::info
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:309,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:311,1
    - Dst: std::format
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:317,1
    - Dst: lg2::info
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:319,1
    - Dst: std::string::c_str
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:319,1
    - Dst: auto::call_async
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:322,1
    - Dst: stdplus::exception::ignore
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:322,1
    - Dst: sdbusplus::slot_t
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:325,1
    - Dst: serialbridge::SerialChannel::write
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:327,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:327,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:329,1
    - Dst: clear
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:334,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 43
    argCount: 3
    argNames:
    - ' uart'
    - ' bus'
    - ' outstanding'
    argTypes:
    - stdplus::Fd
    - sdbusplus::bus_t
    - sdbusplus::slot_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 234
    functionDepth: 3
    functionLinenumber: 234
    functionLinenumberEnd: 337
    functionName: serialbridge::SerialChannel::read
    functionSourceFile: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp
    functionUses: 0
    functionsReached:
    - std::format
    - sdbusplus::slot_t
    - auto::empty
    - data
    - begin
    - clear
    - new_method_call
    - serialbridge::SerialChannel::consumeIpmiSerialPacket
    - reinterpret_cast<struct IpmiSerialHeader*>
    - auto::call_async
    - stdplus::exception::ignore
    - end
    - lg2::info
    - auto::append
    - size
    - dcmi::temp_readings::read
    - std::move
    - lg2::error
    - serialbridge::SerialChannel::write
    - std::span::subspan
    - std::span<uint8_t>
    - std::string::c_str
    - serialbridge::SerialChannel::calculateChecksum
    linkageType: ''
    returnType: void
    signature: "void SerialChannel::read(stdplus::Fd& uart, sdbusplus::bus_t& bus,\n
      \                        sdbusplus::slot_t& outstanding)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::accumulate
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:38,1
    - Dst: std::span<uint8_t>::begin
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:38,1
    - Dst: std::span<uint8_t>::end
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::span<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 43
    functionName: serialbridge::SerialChannel::calculateChecksum
    functionSourceFile: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp
    functionUses: 1
    functionsReached:
    - std::accumulate
    - std::span<uint8_t>::end
    - std::span<uint8_t>::begin
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t SerialChannel::calculateChecksum(std::span<uint8_t> data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:51,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:51,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:51,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - c
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 60
    functionName: serialbridge::SerialChannel::getUnescapedCharacter
    functionSourceFile: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp
    functionUses: 1
    functionsReached:
    - std::find_if
    - end
    - begin
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t SerialChannel::getUnescapedCharacter(uint8_t c)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:69,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:69,1
    - Dst: serialbridge::SerialChannel::getUnescapedCharacter
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:84,1
    - Dst: clear
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:90,1
    - Dst: push_back
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:94,1
    - Dst: clear
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:109,1
    - Dst: push_back
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:114,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 2
    argNames:
    - ' escapedDataBytes'
    - ' unescapedDataBytes'
    argTypes:
    - std::span<uint8_t>
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 119
    functionName: serialbridge::SerialChannel::consumeIpmiSerialPacket
    functionSourceFile: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp
    functionUses: 1
    functionsReached:
    - size
    - reserve
    - serialbridge::SerialChannel::getUnescapedCharacter
    - clear
    - push_back
    linkageType: ''
    returnType: int
    signature: "int SerialChannel::consumeIpmiSerialPacket(\n    std::span<uint8_t>&
      escapedDataBytes,\n    std::vector<uint8_t>& unescapedDataBytes)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::ranges::for_each
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:129,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:129,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:129,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:131,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:132,1
    - Dst: push_back
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:134,1
    - Dst: push_back
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:135,1
    - Dst: push_back
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - ' buffer'
    - ' data'
    argTypes:
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 146
    functionName: serialbridge::SerialChannel::processEscapedCharacter
    functionSourceFile: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp
    functionUses: 1
    functionsReached:
    - std::ranges::for_each
    - end
    - begin
    - find
    - push_back
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t SerialChannel::processEscapedCharacter(std::vector<uint8_t>&
      buffer,\n                                               const std::vector<uint8_t>&
      data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_method_error
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:159,1
    - Dst: get_error
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:162,1
    - Dst: sdbusplus::exception::SdBusError
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:163,1
    - Dst: unpack
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:166,1
    - Dst: clear
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:178,1
    - Dst: reserve
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:179,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:180,1
    - Dst: push_back
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:184,1
    - Dst: serialbridge::SerialChannel::processEscapedCharacter
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:187,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:188,1
    - Dst: serialbridge::SerialChannel::processEscapedCharacter
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:189,1
    - Dst: serialbridge::SerialChannel::processEscapedCharacter
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:192,1
    - Dst: serialbridge::SerialChannel::processEscapedCharacter
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:194,1
    - Dst: std::vector<uint8_t>
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:194,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:195,1
    - Dst: serialbridge::SerialChannel::processEscapedCharacter
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:196,1
    - Dst: push_back
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:199,1
    - Dst: std::span<uint8_t>
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:201,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:201,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:201,1
    - Dst: lg2::info
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:205,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:208,1
    - Dst: std::format
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:214,1
    - Dst: lg2::info
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:216,1
    - Dst: std::string::c_str
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:216,1
    - Dst: stdplus::fd::writeExact
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:219,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:223,1
    - Dst: std::span::size
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:228,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 5
    argNames:
    - ' uart'
    - rsAddr
    - rqAddr
    - seq
    - ' m'
    argTypes:
    - stdplus::Fd
    - uint8_t
    - uint8_t
    - uint8_t
    - sdbusplus::message_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 229
    functionName: serialbridge::SerialChannel::write
    functionSourceFile: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp
    functionUses: 1
    functionsReached:
    - std::format
    - stdplus::fd::writeExact
    - is_method_error
    - static_cast<uint8_t>
    - begin
    - clear
    - std::vector<uint8_t>
    - push_back
    - sdbusplus::exception::SdBusError
    - end
    - lg2::info
    - get_error
    - size
    - reserve
    - serialbridge::SerialChannel::processEscapedCharacter
    - lg2::error
    - std::span<uint8_t>
    - std::string::c_str
    - std::span::size
    - unpack
    linkageType: ''
    returnType: int
    signature: "int SerialChannel::write(stdplus::Fd& uart, uint8_t rsAddr, uint8_t
      rqAddr,\n                         uint8_t seq, sdbusplus::message_t&& m)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: dcmi::temp_readings::read
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:238,1
    - Dst: auto::empty
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:240,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:247,1
    - Dst: sdbusplus::slot_t
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:248,1
    - Dst: serialbridge::SerialChannel::consumeIpmiSerialPacket
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:252,1
    - Dst: lg2::info
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:254,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:259,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:262,1
    - Dst: clear
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:263,1
    - Dst: serialbridge::SerialChannel::calculateChecksum
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:268,1
    - Dst: std::span<uint8_t>
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:268,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:268,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:271,1
    - Dst: clear
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:272,1
    - Dst: serialbridge::SerialChannel::calculateChecksum
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:277,1
    - Dst: std::span<uint8_t>
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:277,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:279,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:281,1
    - Dst: clear
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:282,1
    - Dst: new_method_call
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:286,1
    - Dst: reinterpret_cast<struct IpmiSerialHeader*>
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:292,1
    - Dst: data
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:292,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:301,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:302,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:304,1
    - Dst: std::span::subspan
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:304,1
    - Dst: lg2::info
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:309,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:311,1
    - Dst: std::format
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:317,1
    - Dst: lg2::info
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:319,1
    - Dst: std::string::c_str
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:319,1
    - Dst: auto::call_async
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:322,1
    - Dst: stdplus::exception::ignore
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:322,1
    - Dst: sdbusplus::slot_t
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:325,1
    - Dst: serialbridge::SerialChannel::write
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:327,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:327,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:329,1
    - Dst: clear
      Src: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp:334,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 43
    argCount: 3
    argNames:
    - ' uart'
    - ' bus'
    - ' outstanding'
    argTypes:
    - stdplus::Fd
    - sdbusplus::bus_t
    - sdbusplus::slot_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 234
    functionDepth: 3
    functionLinenumber: 234
    functionLinenumberEnd: 337
    functionName: serialbridge::SerialChannel::read
    functionSourceFile: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp
    functionUses: 0
    functionsReached:
    - std::format
    - sdbusplus::slot_t
    - auto::empty
    - data
    - begin
    - clear
    - new_method_call
    - serialbridge::SerialChannel::consumeIpmiSerialPacket
    - reinterpret_cast<struct IpmiSerialHeader*>
    - auto::call_async
    - stdplus::exception::ignore
    - end
    - lg2::info
    - auto::append
    - size
    - dcmi::temp_readings::read
    - std::move
    - lg2::error
    - serialbridge::SerialChannel::write
    - std::span::subspan
    - std::span<uint8_t>
    - std::string::c_str
    - serialbridge::SerialChannel::calculateChecksum
    linkageType: ''
    returnType: void
    signature: "void SerialChannel::read(stdplus::Fd& uart, sdbusplus::bus_t& bus,\n
      \                        sdbusplus::slot_t& outstanding)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<SerialChannel>
      Src: /src/phosphor-host-ipmid/transport/serialbridge/test/serial_unittest.cpp:21,1
    - Dst: auto::getUnescapedCharacter
      Src: /src/phosphor-host-ipmid/transport/serialbridge/test/serial_unittest.cpp:25,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/transport/serialbridge/test/serial_unittest.cpp:26,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 28
    functionName: serialbridge::TEST
    functionSourceFile: /src/phosphor-host-ipmid/transport/serialbridge/test/serial_unittest.cpp
    functionUses: 0
    functionsReached:
    - std::make_shared<SerialChannel>
    - auto::getUnescapedCharacter
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(TestSpecialCharact, getUnescapedCharact)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<SerialChannel>
      Src: /src/phosphor-host-ipmid/transport/serialbridge/test/serial_unittest.cpp:34,1
    - Dst: auto::processEscapedCharacter
      Src: /src/phosphor-host-ipmid/transport/serialbridge/test/serial_unittest.cpp:36,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/transport/serialbridge/test/serial_unittest.cpp:38,1
    - Dst: std::vector::at
      Src: /src/phosphor-host-ipmid/transport/serialbridge/test/serial_unittest.cpp:38,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/transport/serialbridge/test/serial_unittest.cpp:39,1
    - Dst: std::vector::at
      Src: /src/phosphor-host-ipmid/transport/serialbridge/test/serial_unittest.cpp:39,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/transport/serialbridge/test/serial_unittest.cpp:39,1
    - Dst: std::vector::clear
      Src: /src/phosphor-host-ipmid/transport/serialbridge/test/serial_unittest.cpp:41,1
    - Dst: auto::processEscapedCharacter
      Src: /src/phosphor-host-ipmid/transport/serialbridge/test/serial_unittest.cpp:42,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/transport/serialbridge/test/serial_unittest.cpp:44,1
    - Dst: std::vector::at
      Src: /src/phosphor-host-ipmid/transport/serialbridge/test/serial_unittest.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 45
    functionName: serialbridge::TEST
    functionSourceFile: /src/phosphor-host-ipmid/transport/serialbridge/test/serial_unittest.cpp
    functionUses: 0
    functionsReached:
    - std::make_shared<SerialChannel>
    - ASSERT_EQ
    - std::vector::at
    - std::vector::clear
    - at
    - auto::processEscapedCharacter
    linkageType: ''
    returnType: void
    signature: void TEST(TestSpecialCharact, processEscapedCharacter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<SerialChannel>
      Src: /src/phosphor-host-ipmid/transport/serialbridge/test/serial_unittest.cpp:50,1
    - Dst: auto::calculateChecksum
      Src: /src/phosphor-host-ipmid/transport/serialbridge/test/serial_unittest.cpp:53,1
    - Dst: std::span<uint8_t>
      Src: /src/phosphor-host-ipmid/transport/serialbridge/test/serial_unittest.cpp:53,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/transport/serialbridge/test/serial_unittest.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 57
    functionName: serialbridge::TEST
    functionSourceFile: /src/phosphor-host-ipmid/transport/serialbridge/test/serial_unittest.cpp
    functionUses: 0
    functionsReached:
    - std::span<uint8_t>
    - std::make_shared<SerialChannel>
    - ASSERT_EQ
    - auto::calculateChecksum
    linkageType: ''
    returnType: void
    signature: void TEST(TestChecksum, calculateChecksum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<SerialChannel>
      Src: /src/phosphor-host-ipmid/transport/serialbridge/test/serial_unittest.cpp:70,1
    - Dst: auto::consumeIpmiSerialPacket
      Src: /src/phosphor-host-ipmid/transport/serialbridge/test/serial_unittest.cpp:72,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/transport/serialbridge/test/serial_unittest.cpp:74,1
    - Dst: std::vector::clear
      Src: /src/phosphor-host-ipmid/transport/serialbridge/test/serial_unittest.cpp:76,1
    - Dst: auto::consumeIpmiSerialPacket
      Src: /src/phosphor-host-ipmid/transport/serialbridge/test/serial_unittest.cpp:77,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/transport/serialbridge/test/serial_unittest.cpp:78,1
    - Dst: auto::consumeIpmiSerialPacket
      Src: /src/phosphor-host-ipmid/transport/serialbridge/test/serial_unittest.cpp:79,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/transport/serialbridge/test/serial_unittest.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 81
    functionName: serialbridge::TEST
    functionSourceFile: /src/phosphor-host-ipmid/transport/serialbridge/test/serial_unittest.cpp
    functionUses: 0
    functionsReached:
    - std::make_shared<SerialChannel>
    - ASSERT_EQ
    - auto::consumeIpmiSerialPacket
    - std::vector::clear
    linkageType: ''
    returnType: void
    signature: void TEST(TestIpmiSerialPacket, consumeIpmiSerialPacket)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<SerialChannel>
      Src: /src/phosphor-host-ipmid/transport/serialbridge/test/serial_unittest.cpp:21,1
    - Dst: auto::getUnescapedCharacter
      Src: /src/phosphor-host-ipmid/transport/serialbridge/test/serial_unittest.cpp:25,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/transport/serialbridge/test/serial_unittest.cpp:26,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 28
    functionName: serialbridge::TEST
    functionSourceFile: /src/phosphor-host-ipmid/transport/serialbridge/test/serial_unittest.cpp
    functionUses: 0
    functionsReached:
    - std::make_shared<SerialChannel>
    - auto::getUnescapedCharacter
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(TestSpecialCharact, getUnescapedCharact)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<SerialChannel>
      Src: /src/phosphor-host-ipmid/transport/serialbridge/test/serial_unittest.cpp:34,1
    - Dst: auto::processEscapedCharacter
      Src: /src/phosphor-host-ipmid/transport/serialbridge/test/serial_unittest.cpp:36,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/transport/serialbridge/test/serial_unittest.cpp:38,1
    - Dst: std::vector::at
      Src: /src/phosphor-host-ipmid/transport/serialbridge/test/serial_unittest.cpp:38,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/transport/serialbridge/test/serial_unittest.cpp:39,1
    - Dst: std::vector::at
      Src: /src/phosphor-host-ipmid/transport/serialbridge/test/serial_unittest.cpp:39,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/transport/serialbridge/test/serial_unittest.cpp:39,1
    - Dst: std::vector::clear
      Src: /src/phosphor-host-ipmid/transport/serialbridge/test/serial_unittest.cpp:41,1
    - Dst: auto::processEscapedCharacter
      Src: /src/phosphor-host-ipmid/transport/serialbridge/test/serial_unittest.cpp:42,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/transport/serialbridge/test/serial_unittest.cpp:44,1
    - Dst: std::vector::at
      Src: /src/phosphor-host-ipmid/transport/serialbridge/test/serial_unittest.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 45
    functionName: serialbridge::TEST
    functionSourceFile: /src/phosphor-host-ipmid/transport/serialbridge/test/serial_unittest.cpp
    functionUses: 0
    functionsReached:
    - std::make_shared<SerialChannel>
    - ASSERT_EQ
    - std::vector::at
    - std::vector::clear
    - at
    - auto::processEscapedCharacter
    linkageType: ''
    returnType: void
    signature: void TEST(TestSpecialCharact, processEscapedCharacter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<SerialChannel>
      Src: /src/phosphor-host-ipmid/transport/serialbridge/test/serial_unittest.cpp:50,1
    - Dst: auto::calculateChecksum
      Src: /src/phosphor-host-ipmid/transport/serialbridge/test/serial_unittest.cpp:53,1
    - Dst: std::span<uint8_t>
      Src: /src/phosphor-host-ipmid/transport/serialbridge/test/serial_unittest.cpp:53,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/transport/serialbridge/test/serial_unittest.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 57
    functionName: serialbridge::TEST
    functionSourceFile: /src/phosphor-host-ipmid/transport/serialbridge/test/serial_unittest.cpp
    functionUses: 0
    functionsReached:
    - std::span<uint8_t>
    - std::make_shared<SerialChannel>
    - ASSERT_EQ
    - auto::calculateChecksum
    linkageType: ''
    returnType: void
    signature: void TEST(TestChecksum, calculateChecksum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<SerialChannel>
      Src: /src/phosphor-host-ipmid/transport/serialbridge/test/serial_unittest.cpp:70,1
    - Dst: auto::consumeIpmiSerialPacket
      Src: /src/phosphor-host-ipmid/transport/serialbridge/test/serial_unittest.cpp:72,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/transport/serialbridge/test/serial_unittest.cpp:74,1
    - Dst: std::vector::clear
      Src: /src/phosphor-host-ipmid/transport/serialbridge/test/serial_unittest.cpp:76,1
    - Dst: auto::consumeIpmiSerialPacket
      Src: /src/phosphor-host-ipmid/transport/serialbridge/test/serial_unittest.cpp:77,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/transport/serialbridge/test/serial_unittest.cpp:78,1
    - Dst: auto::consumeIpmiSerialPacket
      Src: /src/phosphor-host-ipmid/transport/serialbridge/test/serial_unittest.cpp:79,1
    - Dst: ASSERT_EQ
      Src: /src/phosphor-host-ipmid/transport/serialbridge/test/serial_unittest.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 81
    functionName: serialbridge::TEST
    functionSourceFile: /src/phosphor-host-ipmid/transport/serialbridge/test/serial_unittest.cpp
    functionUses: 0
    functionsReached:
    - std::make_shared<SerialChannel>
    - ASSERT_EQ
    - auto::consumeIpmiSerialPacket
    - std::vector::clear
    linkageType: ''
    returnType: void
    signature: void TEST(TestIpmiSerialPacket, consumeIpmiSerialPacket)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::ifstream::good
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:97,1
    - Dst: nlohmann::json::parse
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:102,1
    - Dst: nlohmann::json::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:104,1
    - Dst: nlohmann::json::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:105,1
    - Dst: erase
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:110,1
    - Dst: std::remove_if
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:110,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:110,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:110,1
    - Dst: nlohmann::json::iterator::begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:114,1
    - Dst: nlohmann::json::iterator::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:115,1
    - Dst: erase
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:118,1
    - Dst: empty
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:120,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:122,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ' subtree'
    argTypes:
    - SensorSubTree
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 123
    functionName: details::filterSensors
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp
    functionUses: 0
    functionsReached:
    - std::ifstream::good
    - nlohmann::json::iterator::end
    - nlohmann::json::end
    - nlohmann::json::parse
    - nlohmann::json::iterator::begin
    - erase
    - std::remove_if
    - nlohmann::json::find
    - end
    - begin
    - empty
    linkageType: ''
    returnType: void
    signature: void filterSensors(SensorSubTree& subtree)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getSdBus
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:129,1
    - Dst: std::shared_ptr::reset
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:134,1
    - Dst: std::shared_ptr::reset
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:140,1
    - Dst: std::make_shared<SensorSubTree>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:148,1
    - Dst: std::shared_ptr::new_method_call
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:154,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:159,1
    - Dst: std::shared_ptr::call
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:163,1
    - Dst: auto::read
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:164,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:168,1
    - Dst: std::fprintf
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:174,1
    - Dst: SensorSubTree::size
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:175,1
    - Dst: std::shared_ptr::merge
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:177,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:177,1
    - Dst: lbdUpdateSensorTree
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:189,1
    - Dst: empty
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:193,1
    - Dst: second::sensorPath::starts_with
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:198,1
    - Dst: second::propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:209,1
    - Dst: std::shared_ptr::emplace
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:210,1
    - Dst: details::filterSensors
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:222,1
    - Dst: lbdUpdateSensorTree
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:224,1
    - Dst: wipeTable
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:229,1
    - Dst: wipeTable
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:230,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 40
    argCount: 1
    argNames:
    - ' subtree'
    argTypes:
    - std::shared_ptr<SensorSubTree>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 232
    functionName: details::getSensorSubtree
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp
    functionUses: 0
    functionsReached:
    - details::filterSensors
    - getSdBus
    - second::propertyInterfaces::begin
    - std::shared_ptr::merge
    - SensorSubTree::size
    - std::shared_ptr::new_method_call
    - std::shared_ptr::reset
    - auto::append
    - second::sensorPath::starts_with
    - std::make_shared<SensorSubTree>
    - std::shared_ptr::emplace
    - empty
    - std::move
    - lg2::error
    - wipeTable
    - std::shared_ptr::call
    - auto::read
    - lbdUpdateSensorTree
    - std::fprintf
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t getSensorSubtree(std::shared_ptr<SensorSubTree>& subtree)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: details::getSensorSubtree
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:240,1
    - Dst: std::make_shared<SensorNumMap>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:253,1
    - Dst: std::shared_ptr::insert
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:259,1
    - Dst: SensorNumMap::value_type
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:260,1
    - Dst: std::out_of_range
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:274,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 1
    argNames:
    - ' sensorNumMap'
    argTypes:
    - std::shared_ptr<SensorNumMap>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 234
    functionDepth: 2
    functionLinenumber: 234
    functionLinenumberEnd: 281
    functionName: details::getSensorNumMap
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp
    functionUses: 0
    functionsReached:
    - std::out_of_range
    - std::shared_ptr::insert
    - details::getSensorSubtree
    - std::make_shared<SensorNumMap>
    - SensorNumMap::value_type
    linkageType: ''
    returnType: bool
    signature: bool getSensorNumMap(std::shared_ptr<SensorNumMap>& sensorNumMap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::ifstream::good
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:97,1
    - Dst: nlohmann::json::parse
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:102,1
    - Dst: nlohmann::json::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:104,1
    - Dst: nlohmann::json::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:105,1
    - Dst: erase
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:110,1
    - Dst: std::remove_if
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:110,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:110,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:110,1
    - Dst: nlohmann::json::iterator::begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:114,1
    - Dst: nlohmann::json::iterator::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:115,1
    - Dst: erase
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:118,1
    - Dst: empty
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:120,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:122,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ' subtree'
    argTypes:
    - SensorSubTree
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 123
    functionName: details::filterSensors
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp
    functionUses: 1
    functionsReached:
    - std::ifstream::good
    - nlohmann::json::iterator::end
    - nlohmann::json::end
    - nlohmann::json::parse
    - nlohmann::json::iterator::begin
    - erase
    - std::remove_if
    - nlohmann::json::find
    - end
    - begin
    - empty
    linkageType: ''
    returnType: void
    signature: void filterSensors(SensorSubTree& subtree)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getSdBus
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:129,1
    - Dst: std::shared_ptr::reset
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:134,1
    - Dst: std::shared_ptr::reset
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:140,1
    - Dst: std::make_shared<SensorSubTree>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:148,1
    - Dst: std::shared_ptr::new_method_call
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:154,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:159,1
    - Dst: std::shared_ptr::call
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:163,1
    - Dst: auto::read
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:164,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:168,1
    - Dst: std::fprintf
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:174,1
    - Dst: SensorSubTree::size
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:175,1
    - Dst: std::shared_ptr::merge
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:177,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:177,1
    - Dst: lbdUpdateSensorTree
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:189,1
    - Dst: empty
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:193,1
    - Dst: second::sensorPath::starts_with
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:198,1
    - Dst: second::propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:209,1
    - Dst: std::shared_ptr::emplace
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:210,1
    - Dst: details::filterSensors
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:222,1
    - Dst: lbdUpdateSensorTree
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:224,1
    - Dst: wipeTable
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:229,1
    - Dst: wipeTable
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:230,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 40
    argCount: 1
    argNames:
    - ' subtree'
    argTypes:
    - std::shared_ptr<SensorSubTree>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 232
    functionName: details::getSensorSubtree
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp
    functionUses: 1
    functionsReached:
    - details::filterSensors
    - getSdBus
    - second::propertyInterfaces::begin
    - std::shared_ptr::merge
    - SensorSubTree::size
    - std::shared_ptr::new_method_call
    - std::shared_ptr::reset
    - auto::append
    - second::sensorPath::starts_with
    - std::make_shared<SensorSubTree>
    - std::shared_ptr::emplace
    - empty
    - std::move
    - lg2::error
    - wipeTable
    - std::shared_ptr::call
    - auto::read
    - lbdUpdateSensorTree
    - std::fprintf
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t getSensorSubtree(std::shared_ptr<SensorSubTree>& subtree)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: details::getSensorSubtree
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:240,1
    - Dst: std::make_shared<SensorNumMap>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:253,1
    - Dst: std::shared_ptr::insert
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:259,1
    - Dst: SensorNumMap::value_type
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:260,1
    - Dst: std::out_of_range
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:274,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 1
    argNames:
    - ' sensorNumMap'
    argTypes:
    - std::shared_ptr<SensorNumMap>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 234
    functionDepth: 2
    functionLinenumber: 234
    functionLinenumberEnd: 281
    functionName: details::getSensorNumMap
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp
    functionUses: 0
    functionsReached:
    - std::out_of_range
    - std::shared_ptr::insert
    - details::getSensorSubtree
    - std::make_shared<SensorNumMap>
    - SensorNumMap::value_type
    linkageType: ''
    returnType: bool
    signature: bool getSensorNumMap(std::shared_ptr<SensorNumMap>& sensorNumMap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: details::getSensorSubtree
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:287,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' subtree'
    argTypes:
    - SensorSubTree
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 284
    functionDepth: 2
    functionLinenumber: 284
    functionLinenumberEnd: 295
    functionName: getSensorSubtree
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp
    functionUses: 3
    functionsReached:
    - details::getSensorSubtree
    linkageType: ''
    returnType: bool
    signature: bool getSensorSubtree(SensorSubTree& subtree)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:302,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:303,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 307
    functionName: findStaticSensor
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp
    functionUses: 0
    functionsReached:
    - std::find_if
    - end
    - begin
    linkageType: ''
    returnType: ipmi::sensor::IdInfoMap::const_iterator
    signature: "ipmi::sensor::IdInfoMap::const_iterator findStaticSensor(\n    const
      std::string& path)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rfind
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:314,1
    - Dst: rfind
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:319,1
    - Dst: substr
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:326,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 327
    functionName: getSensorTypeStringFromPath
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp
    functionUses: 0
    functionsReached:
    - substr
    - rfind
    linkageType: ''
    returnType: std::string
    signature: std::string getSensorTypeStringFromPath(const std::string& path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getSensorTypeStringFromPath
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:332,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:333,1
    - Dst: std::string::c_str
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:333,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:334,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:337,1
    - Dst: std::get<sensorTypeCodes>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:337,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 329
    functionDepth: 1
    functionLinenumber: 329
    functionLinenumberEnd: 341
    functionName: getSensorTypeFromPath
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp
    functionUses: 0
    functionsReached:
    - getSensorTypeStringFromPath
    - std::string::c_str
    - std::get<sensorTypeCodes>
    - static_cast<uint8_t>
    - end
    - find
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t getSensorTypeFromPath(const std::string& path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: details::getSensorNumMap
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:346,1
    - Dst: std::shared_ptr::right::at
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:354,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 343
    functionDepth: 3
    functionLinenumber: 343
    functionLinenumberEnd: 360
    functionName: getSensorNumberFromPath
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp
    functionUses: 0
    functionsReached:
    - details::getSensorNumMap
    - std::shared_ptr::right::at
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t getSensorNumberFromPath(const std::string& path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getSensorTypeStringFromPath
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:365,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:366,1
    - Dst: std::string::c_str
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:366,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:367,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:369,1
    - Dst: std::get<sensorEventTypeCodes>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:370,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 374
    functionName: getSensorEventTypeFromPath
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp
    functionUses: 0
    functionsReached:
    - getSensorTypeStringFromPath
    - std::string::c_str
    - static_cast<uint8_t>
    - end
    - find
    - std::get<sensorEventTypeCodes>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t getSensorEventTypeFromPath(const std::string& path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: details::getSensorNumMap
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:379,1
    - Dst: std::string
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:382,1
    - Dst: std::shared_ptr::left::at
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:387,1
    - Dst: std::string
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:391,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - sensorNum
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 376
    functionDepth: 3
    functionLinenumber: 376
    functionLinenumberEnd: 393
    functionName: getPathFromSensorNumber
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp
    functionUses: 0
    functionsReached:
    - details::getSensorNumMap
    - std::shared_ptr::left::at
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string getPathFromSensorNumber(uint16_t sensorNum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSdBus
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:403,1
    - Dst: std::shared_ptr::new_method_call
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:405,1
    - Dst: sdbusplus::message_t::append
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:408,1
    - Dst: std::shared_ptr::call
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:412,1
    - Dst: sdbusplus::message_t::read
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:413,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 398
    functionDepth: 1
    functionLinenumber: 398
    functionLinenumberEnd: 421
    functionName: ipmi::getObjectInterfaces
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr::new_method_call
    - std::shared_ptr::call
    - getSdBus
    - sdbusplus::message_t::append
    - sdbusplus::message_t::read
    linkageType: ''
    returnType: std::optional<std::map<std::string, std::vector<std::string>>>
    signature: std::optional<std::map<std::string, std::vector<std::string>>> getObjectInterfaces(const
      char* path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSdBus
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:427,1
    - Dst: std::shared_ptr::new_method_call
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:430,1
    - Dst: sdbusplus::message_t::append
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:432,1
    - Dst: std::shared_ptr::call
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:436,1
    - Dst: sdbusplus::message_t::read
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:437,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:441,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - path
    - interface
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 447
    functionName: ipmi::getEntityManagerProperties
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp
    functionUses: 0
    functionsReached:
    - lg2::error
    - std::shared_ptr::new_method_call
    - std::shared_ptr::call
    - getSdBus
    - sdbusplus::message_t::append
    - sdbusplus::message_t::read
    linkageType: ''
    returnType: std::map<std::string, Value>
    signature: "std::map<std::string, Value> getEntityManagerProperties(const char*
      path,\n                                                        const char* interface)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:456,1
    - Dst: ipmi::callDbusMethod<Paths>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:463,1
    - Dst: std::unordered_set<std::string>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:476,1
    - Dst: Paths::begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:476,1
    - Dst: Paths::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:476,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ' ctx'
    argTypes:
    - std::optional<ipmi::Context::ptr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 478
    functionName: ipmi::getIpmiDecoratorPaths
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp
    functionUses: 0
    functionsReached:
    - Paths::begin
    - ipmi::callDbusMethod<Paths>
    - std::unordered_set<std::string>
    - Paths::end
    - has_value
    linkageType: ''
    returnType: std::optional<std::unordered_set<std::string>>
    signature: "std::optional<std::unordered_set<std::string>> & getIpmiDecoratorPaths(\n
      \   const std::optional<ipmi::Context::ptr>& ctx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:485,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:486,1
    - Dst: starts_with
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:505,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - "\n        sensorInterfacesResponse"
    argTypes:
    - std::map<std::string, std::vector<std::string>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 512
    functionName: ipmi::getSensorConfigurationInterface
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp
    functionUses: 0
    functionsReached:
    - starts_with
    - end
    - find
    linkageType: ''
    returnType: std::string
    signature: "std::string * getSensorConfigurationInterface(\n    const std::map<std::string,
      std::vector<std::string>>&\n        sensorInterfacesResponse)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:525,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:526,1
    - Dst: std::fprintf
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:530,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:531,1
    - Dst: auto::second::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:538,1
    - Dst: auto::second::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:539,1
    - Dst: std::fprintf
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:543,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:544,1
    - Dst: std::get<std::vector<Association>>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:551,1
    - Dst: std::get<0>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:557,1
    - Dst: std::get<1>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:558,1
    - Dst: std::get<2>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:559,1
    - Dst: contains
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:574,1
    - Dst: ipmi::getEntityManagerProperties
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:577,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:578,1
    - Dst: std::map::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:581,1
    - Dst: std::map::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:582,1
    - Dst: std::map::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:583,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:585,1
    - Dst: std::get<uint64_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:586,1
    - Dst: std::map::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:588,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:590,1
    - Dst: std::get<uint64_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:591,1
    - Dst: find_openbmc_path
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:601,1
    - Dst: ipmi::getObjectInterfaces
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:610,1
    - Dst: std::string::c_str
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:610,1
    - Dst: std::optional::has_value
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:612,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:614,1
    - Dst: ipmi::getSensorConfigurationInterface
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:620,1
    - Dst: std::optional::value
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:621,1
    - Dst: ipmi::getEntityManagerProperties
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:633,1
    - Dst: std::string::c_str
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:633,1
    - Dst: std::string*::c_str
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:634,1
    - Dst: std::map::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:636,1
    - Dst: std::map::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:637,1
    - Dst: std::map::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:638,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:641,1
    - Dst: std::get<uint64_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:641,1
    - Dst: std::map::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:643,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:645,1
    - Dst: std::get<uint64_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:646,1
    - Dst: std::fprintf
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:655,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:656,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 46
    argCount: 5
    argNames:
    - ' path'
    - ' ipmiDecoratorPaths'
    - ' sensorMap'
    - ' entityId'
    - ' entityInstance'
    argTypes:
    - std::string
    - std::unordered_set<std::string>
    - DbusInterfaceMap
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 516
    functionDepth: 2
    functionLinenumber: 516
    functionLinenumberEnd: 658
    functionName: ipmi::updateIpmiFromAssociation
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp
    functionUses: 0
    functionsReached:
    - std::get<uint64_t>
    - std::get<2>
    - static_cast<uint8_t>
    - find
    - c_str
    - ipmi::getObjectInterfaces
    - contains
    - end
    - std::string*::c_str
    - std::get<1>
    - std::get<std::vector<Association>>
    - std::optional::value
    - auto::second::find
    - auto::second::end
    - lg2::debug
    - std::map::find
    - std::optional::has_value
    - std::map::end
    - ipmi::getSensorConfigurationInterface
    - std::string::c_str
    - std::get<0>
    - ipmi::getEntityManagerProperties
    - find_openbmc_path
    - std::fprintf
    linkageType: ''
    returnType: void
    signature: "void updateIpmiFromAssociation(\n    const std::string& path,\n    const
      std::unordered_set<std::string>& ipmiDecoratorPaths,\n    const DbusInterfaceMap&
      sensorMap, uint8_t& entityId,\n    uint8_t& entityInstance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSdBus
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:403,1
    - Dst: std::shared_ptr::new_method_call
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:405,1
    - Dst: sdbusplus::message_t::append
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:408,1
    - Dst: std::shared_ptr::call
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:412,1
    - Dst: sdbusplus::message_t::read
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:413,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 398
    functionDepth: 1
    functionLinenumber: 398
    functionLinenumberEnd: 421
    functionName: ipmi::getObjectInterfaces
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp
    functionUses: 1
    functionsReached:
    - std::shared_ptr::new_method_call
    - std::shared_ptr::call
    - getSdBus
    - sdbusplus::message_t::append
    - sdbusplus::message_t::read
    linkageType: ''
    returnType: std::optional<std::map<std::string, std::vector<std::string>>>
    signature: std::optional<std::map<std::string, std::vector<std::string>>> getObjectInterfaces(const
      char* path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSdBus
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:427,1
    - Dst: std::shared_ptr::new_method_call
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:430,1
    - Dst: sdbusplus::message_t::append
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:432,1
    - Dst: std::shared_ptr::call
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:436,1
    - Dst: sdbusplus::message_t::read
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:437,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:441,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - path
    - interface
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 447
    functionName: ipmi::getEntityManagerProperties
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp
    functionUses: 1
    functionsReached:
    - lg2::error
    - std::shared_ptr::new_method_call
    - std::shared_ptr::call
    - getSdBus
    - sdbusplus::message_t::append
    - sdbusplus::message_t::read
    linkageType: ''
    returnType: std::map<std::string, Value>
    signature: "std::map<std::string, Value> getEntityManagerProperties(const char*
      path,\n                                                        const char* interface)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:456,1
    - Dst: ipmi::callDbusMethod<Paths>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:463,1
    - Dst: std::unordered_set<std::string>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:476,1
    - Dst: Paths::begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:476,1
    - Dst: Paths::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:476,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ' ctx'
    argTypes:
    - std::optional<ipmi::Context::ptr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 478
    functionName: ipmi::getIpmiDecoratorPaths
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp
    functionUses: 0
    functionsReached:
    - Paths::begin
    - ipmi::callDbusMethod<Paths>
    - std::unordered_set<std::string>
    - Paths::end
    - has_value
    linkageType: ''
    returnType: std::optional<std::unordered_set<std::string>>
    signature: "std::optional<std::unordered_set<std::string>> & getIpmiDecoratorPaths(\n
      \   const std::optional<ipmi::Context::ptr>& ctx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:485,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:486,1
    - Dst: starts_with
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:505,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - "\n        sensorInterfacesResponse"
    argTypes:
    - std::map<std::string, std::vector<std::string>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 512
    functionName: ipmi::getSensorConfigurationInterface
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp
    functionUses: 1
    functionsReached:
    - starts_with
    - end
    - find
    linkageType: ''
    returnType: std::string
    signature: "std::string * getSensorConfigurationInterface(\n    const std::map<std::string,
      std::vector<std::string>>&\n        sensorInterfacesResponse)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:525,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:526,1
    - Dst: std::fprintf
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:530,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:531,1
    - Dst: auto::second::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:538,1
    - Dst: auto::second::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:539,1
    - Dst: std::fprintf
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:543,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:544,1
    - Dst: std::get<std::vector<Association>>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:551,1
    - Dst: std::get<0>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:557,1
    - Dst: std::get<1>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:558,1
    - Dst: std::get<2>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:559,1
    - Dst: contains
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:574,1
    - Dst: ipmi::getEntityManagerProperties
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:577,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:578,1
    - Dst: std::map::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:581,1
    - Dst: std::map::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:582,1
    - Dst: std::map::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:583,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:585,1
    - Dst: std::get<uint64_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:586,1
    - Dst: std::map::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:588,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:590,1
    - Dst: std::get<uint64_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:591,1
    - Dst: find_openbmc_path
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:601,1
    - Dst: ipmi::getObjectInterfaces
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:610,1
    - Dst: std::string::c_str
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:610,1
    - Dst: std::optional::has_value
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:612,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:614,1
    - Dst: ipmi::getSensorConfigurationInterface
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:620,1
    - Dst: std::optional::value
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:621,1
    - Dst: ipmi::getEntityManagerProperties
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:633,1
    - Dst: std::string::c_str
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:633,1
    - Dst: std::string*::c_str
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:634,1
    - Dst: std::map::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:636,1
    - Dst: std::map::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:637,1
    - Dst: std::map::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:638,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:641,1
    - Dst: std::get<uint64_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:641,1
    - Dst: std::map::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:643,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:645,1
    - Dst: std::get<uint64_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:646,1
    - Dst: std::fprintf
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:655,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp:656,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 46
    argCount: 5
    argNames:
    - ' path'
    - ' ipmiDecoratorPaths'
    - ' sensorMap'
    - ' entityId'
    - ' entityInstance'
    argTypes:
    - std::string
    - std::unordered_set<std::string>
    - DbusInterfaceMap
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 516
    functionDepth: 2
    functionLinenumber: 516
    functionLinenumberEnd: 658
    functionName: ipmi::updateIpmiFromAssociation
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp
    functionUses: 0
    functionsReached:
    - std::get<uint64_t>
    - std::get<2>
    - static_cast<uint8_t>
    - find
    - c_str
    - ipmi::getObjectInterfaces
    - contains
    - end
    - std::string*::c_str
    - std::get<1>
    - std::get<std::vector<Association>>
    - std::optional::value
    - auto::second::find
    - auto::second::end
    - lg2::debug
    - std::map::find
    - std::optional::has_value
    - std::map::end
    - ipmi::getSensorConfigurationInterface
    - std::string::c_str
    - std::get<0>
    - ipmi::getEntityManagerProperties
    - find_openbmc_path
    - std::fprintf
    linkageType: ''
    returnType: void
    signature: "void updateIpmiFromAssociation(\n    const std::string& path,\n    const
      std::unordered_set<std::string>& ipmiDecoratorPaths,\n    const DbusInterfaceMap&
      sensorMap, uint8_t& entityId,\n    uint8_t& entityInstance)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:54,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' file'
    argTypes:
    - std::filesystem::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 59
    functionName: dynamic_sensors::ipmi::sel::getFileTimestamp
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 0
    functionsReached:
    - stat
    - c_str
    linkageType: ''
    returnType: int
    signature: int getFileTimestamp(const std::filesystem::path& file)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getFileTimestamp
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: dynamic_sensors::ipmi::sel::erase_time::get
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 0
    functionsReached:
    - getFileTimestamp
    linkageType: ''
    returnType: int
    signature: int get()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getFileTimestamp
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: dynamic_sensors::ipmi::sel::erase_time::get
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 0
    functionsReached:
    - getFileTimestamp
    linkageType: ''
    returnType: int
    signature: int get()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:54,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' file'
    argTypes:
    - std::filesystem::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 59
    functionName: dynamic_sensors::ipmi::sel::getFileTimestamp
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 0
    functionsReached:
    - stat
    - c_str
    linkageType: ''
    returnType: int
    signature: int getFileTimestamp(const std::filesystem::path& file)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getFileTimestamp
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: dynamic_sensors::ipmi::sel::erase_time::get
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 0
    functionsReached:
    - getFileTimestamp
    linkageType: ''
    returnType: int
    signature: int get()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getFileTimestamp
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: dynamic_sensors::ipmi::sel::erase_time::get
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 0
    functionsReached:
    - getFileTimestamp
    linkageType: ''
    returnType: int
    signature: int get()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getSdBus
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:121,1
    - Dst: std::shared_ptr::new_method_call
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:122,1
    - Dst: sdbusplus::message_t::append
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:125,1
    - Dst: std::shared_ptr::call
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:128,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:133,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - ' fru'
    argTypes:
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 139
    functionName: ipmi::storage::writeFru
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 0
    functionsReached:
    - lg2::error
    - std::shared_ptr::new_method_call
    - std::shared_ptr::call
    - getSdBus
    - sdbusplus::message_t::append
    linkageType: ''
    returnType: bool
    signature: bool writeFru(const std::vector<uint8_t>& fru)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::storage::writeFru
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 144
    functionName: ipmi::storage::writeFruCache
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 0
    functionsReached:
    - ipmi::storage::writeFru
    linkageType: ''
    returnType: void
    signature: void writeFruCache()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<sdbusplus::Timer>
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 149
    functionName: ipmi::storage::createTimers
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<sdbusplus::Timer>
    linkageType: ''
    returnType: void
    signature: void createTimers()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:153,1
    - Dst: second::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:159,1
    - Dst: second::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:160,1
    - Dst: auto::second::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:165,1
    - Dst: auto::second::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:166,1
    - Dst: auto::second::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:167,1
    - Dst: auto::second::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:168,1
    - Dst: lg2::info
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:170,1
    - Dst: std::get<uint32_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:175,1
    - Dst: std::get<uint32_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:176,1
    - Dst: auto::second::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:177,1
    - Dst: auto::second::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:179,1
    - Dst: std::get<std::string>
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:181,1
    - Dst: std::string::compare
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:185,1
    - Dst: std::string::compare
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:186,1
    - Dst: hasher
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:188,1
    - Dst: emplace
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:200,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 214
    functionName: ipmi::storage::recalculateHashes
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 0
    functionsReached:
    - std::get<uint32_t>
    - hasher
    - emplace
    - auto::second::find
    - second::end
    - std::string::compare
    - auto::second::end
    - lg2::info
    - clear
    - second::find
    - std::get<std::string>
    linkageType: ''
    returnType: void
    signature: void recalculateHashes()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: yield_method_call
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:223,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:228,1
    - Dst: boost::system::error_code::message
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:229,1
    - Dst: ipmi::storage::recalculateHashes
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' bus'
    - ' yield'
    argTypes:
    - std::shared_ptr<sdbusplus::asio::connection>
    - boost::asio::yield_context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 234
    functionName: ipmi::storage::replaceCacheFru
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 0
    functionsReached:
    - boost::system::error_code::message
    - yield_method_call
    - lg2::error
    - ipmi::storage::recalculateHashes
    linkageType: ''
    returnType: void
    signature: "void replaceCacheFru(\n    const std::shared_ptr<sdbusplus::asio::connection>&
      bus,\n    boost::asio::yield_context& yield,\n    [[maybe_unused]] const std::optional<std::string>&
      path = std::nullopt)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:244,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:245,1
    - Dst: ipmi::callDbusMethod<std::vector<uint8_t>>
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:254,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:261,1
    - Dst: boost::system::error_code::message
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:261,1
    - Dst: clear
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:268,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - ctx
    - devId
    argTypes:
    - ipmi::Context::ptr
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 273
    functionName: ipmi::storage::getFru
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 0
    functionsReached:
    - find
    - boost::system::error_code::message
    - clear
    - end
    - ipmi::callDbusMethod<std::vector<uint8_t>>
    - lg2::error
    linkageType: ''
    returnType: std::pair<ipmi::Cc, std::vector<uint8_t>>
    signature: "std::pair<ipmi::Cc, std::vector<uint8_t>> getFru(ipmi::Context::ptr
      ctx,\n                                                 uint8_t devId)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isRunning
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:277,1
    - Dst: stop
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:281,1
    - Dst: ipmi::storage::writeFruCache
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:282,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 275
    functionDepth: 3
    functionLinenumber: 275
    functionLinenumberEnd: 283
    functionName: ipmi::storage::writeFruIfRunning
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 0
    functionsReached:
    - stop
    - ipmi::storage::writeFruCache
    - isRunning
    linkageType: ''
    returnType: void
    signature: void writeFruIfRunning()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:287,1
    - Dst: reserve
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:292,1
    - Dst: getSdBus
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:294,1
    - Dst: emplace_back
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:295,1
    - Dst: read
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:304,1
    - Dst: ObjectType::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:310,1
    - Dst: ObjectType::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:311,1
    - Dst: ipmi::storage::writeFruIfRunning
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:315,1
    - Dst: ipmi::storage::recalculateHashes
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:317,1
    - Dst: emplace_back
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:321,1
    - Dst: read
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:330,1
    - Dst: std::set::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:336,1
    - Dst: std::set::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:337,1
    - Dst: ipmi::storage::writeFruIfRunning
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:341,1
    - Dst: erase
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:342,1
    - Dst: ipmi::storage::recalculateHashes
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:343,1
    - Dst: boost::asio::spawn
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:348,1
    - Dst: getIoContext
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:349,1
    - Dst: ipmi::storage::replaceCacheFru
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:351,1
    - Dst: getSdBus
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:351,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 285
    functionDepth: 4
    functionLinenumber: 285
    functionLinenumberEnd: 354
    functionName: ipmi::storage::startMatch
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 0
    functionsReached:
    - ObjectType::end
    - getIoContext
    - std::set::find
    - ipmi::storage::writeFruIfRunning
    - read
    - ObjectType::find
    - size
    - reserve
    - getSdBus
    - erase
    - ipmi::storage::replaceCacheFru
    - emplace_back
    - boost::asio::spawn
    - std::set::end
    - ipmi::storage::recalculateHashes
    linkageType: ''
    returnType: void
    signature: void startMatch(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:372,1
    - Dst: ipmi::storage::getFru
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:375,1
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:378,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:382,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:386,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:388,1
    - Dst: ipmi::responseReqDataLenExceeded
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:392,1
    - Dst: std::vector::insert
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:397,1
    - Dst: std::vector::begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:397,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:398,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:399,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:401,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:401,1
    - Dst: std::vector::size
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:401,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - ctx
    - fruDeviceId
    - fruInventoryOffset
    - countToRead
    argTypes:
    - ipmi::Context::ptr
    - uint8_t
    - uint16_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 403
    functionName: ipmi::storage::ipmiStorageReadFruData
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 0
    functionsReached:
    - std::vector::begin
    - ipmi::responseSuccess
    - ipmi::responseReqDataLenExceeded
    - std::vector::size
    - size
    - ipmi::responseInvalidFieldRequest
    - ipmi::storage::getFru
    - static_cast<uint8_t>
    - begin
    - ipmi::response
    - std::vector::insert
    linkageType: ''
    returnType: "ipmi::RspType<uint8_t,             // Count\n              std::vector<uint8_t>
      // Requested data\n              >"
    signature: "ipmi::RspType<uint8_t,             // Count\n              std::vector<uint8_t>
      // Requested data\n              > ipmiStorageReadFruData(ipmi::Context::ptr
      ctx, uint8_t fruDeviceId,\n                           uint16_t fruInventoryOffset,
      uint8_t countToRead)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:419,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:422,1
    - Dst: ipmi::storage::getFru
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:424,1
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:427,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:430,1
    - Dst: resize
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:432,1
    - Dst: std::copy
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:435,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:435,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:435,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:436,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:440,1
    - Dst: reinterpret_cast<FRUHeader*>
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:442,1
    - Dst: data
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:442,1
    - Dst: std::max
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:445,1
    - Dst: stop
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:494,1
    - Dst: ipmi::storage::writeFru
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:495,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:497,1
    - Dst: std::min
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:499,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:499,1
    - Dst: static_cast<size_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:499,1
    - Dst: start
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:506,1
    - Dst: std::chrono::duration_cast<std::chrono::microseconds>
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:506,1
    - Dst: std::chrono::seconds
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:507,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:511,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 46
    argCount: 4
    argNames:
    - ctx
    - fruDeviceId
    - fruInventoryOffset
    - ' dataToWrite'
    argTypes:
    - ipmi::Context::ptr
    - uint8_t
    - uint16_t
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 413
    functionDepth: 2
    functionLinenumber: 413
    functionLinenumberEnd: 512
    functionName: ipmi::storage::ipmiStorageWriteFruData
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<FRUHeader*>
    - stop
    - static_cast<size_t>
    - start
    - ipmi::responseSuccess
    - std::chrono::duration_cast<std::chrono::microseconds>
    - std::min
    - size
    - std::chrono::seconds
    - ipmi::responseInvalidFieldRequest
    - ipmi::storage::getFru
    - resize
    - std::copy
    - begin
    - data
    - ipmi::storage::writeFru
    - ipmi::response
    - std::max
    linkageType: ''
    returnType: ipmi::RspType<uint8_t>
    signature: "ipmi::RspType<uint8_t> ipmiStorageWriteFruData(\n    ipmi::Context::ptr
      ctx, uint8_t fruDeviceId, uint16_t fruInventoryOffset,\n    std::vector<uint8_t>&
      dataToWrite)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:527,1
    - Dst: ipmi::storage::getFru
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:530,1
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:533,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:537,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:539,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:539,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - fruDeviceId
    argTypes:
    - ipmi::Context::ptr
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 521
    functionDepth: 1
    functionLinenumber: 521
    functionLinenumberEnd: 540
    functionName: ipmi::storage::ipmiStorageGetFruInvAreaInfo
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 0
    functionsReached:
    - ipmi::responseSuccess
    - size
    - static_cast<uint8_t>
    - ipmi::responseInvalidFieldRequest
    - ipmi::storage::getFru
    - ipmi::response
    linkageType: ''
    returnType: "ipmi::RspType<uint16_t, // inventorySize\n              uint8_t>"
    signature: "ipmi::RspType<uint16_t, // inventorySize\n              uint8_t> ipmiStorageGetFruInvAreaInfo(ipmi::Context::ptr
      ctx, uint8_t fruDeviceId)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' count'
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 546
    functionName: ipmi::storage::getFruSdrCount
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: ipmi::Cc
    signature: ipmi::Cc getFruSdrCount(ipmi::Context::ptr, size_t& count)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:551,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:555,1
    - Dst: std::find_if
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:560,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:561,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:561,1
    - Dst: second::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:564,1
    - Dst: second::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:565,1
    - Dst: auto::second::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:570,1
    - Dst: auto::second::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:571,1
    - Dst: auto::second::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:572,1
    - Dst: auto::second::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:573,1
    - Dst: std::get<uint32_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:577,1
    - Dst: std::get<uint32_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:581,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:587,1
    - Dst: ipmi::callDbusMethod<Paths>
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:598,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:608,1
    - Dst: boost::system::error_code::message
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:610,1
    - Dst: ipmi::getAllDbusProperties
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:618,1
    - Dst: std::get<uint64_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:633,1
    - Dst: std::get<uint64_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:637,1
    - Dst: std::get<std::string>
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:641,1
    - Dst: std::optional::has_value
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:653,1
    - Dst: ipmi::getAllDbusProperties
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:659,1
    - Dst: std::get<uint64_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:668,1
    - Dst: std::get<uint64_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:672,1
    - Dst: std::fprintf
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:683,1
    - Dst: boost::container::flat_map<std::string, Value>*::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:696,1
    - Dst: boost::container::flat_map<std::string, Value>*::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:697,1
    - Dst: std::get<std::string>
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:699,1
    - Dst: std::string::empty
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:704,1
    - Dst: std::string::size
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:708,1
    - Dst: std::string::substr
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:710,1
    - Dst: std::string::size
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:712,1
    - Dst: std::string::size
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:730,1
    - Dst: std::string::copy
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:731,1
    - Dst: std::string::size
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:731,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 91
    argCount: 3
    argNames:
    - ctx
    - index
    - ' resp'
    argTypes:
    - ipmi::Context::ptr
    - size_t
    - get_sdr::SensorDataFruRecord
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 548
    functionDepth: 1
    functionLinenumber: 548
    functionLinenumberEnd: 734
    functionName: ipmi::storage::getFruSdrs
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 0
    functionsReached:
    - std::get<uint64_t>
    - begin
    - std::string::empty
    - std::get<uint32_t>
    - std::string::copy
    - ipmi::getAllDbusProperties
    - end
    - second::find
    - ipmi::callDbusMethod<Paths>
    - boost::container::flat_map<std::string, Value>*::end
    - boost::system::error_code::message
    - size
    - auto::second::find
    - auto::second::end
    - std::find_if
    - lg2::error
    - std::get<std::string>
    - std::optional::has_value
    - std::string::substr
    - second::end
    - boost::container::flat_map<std::string, Value>*::find
    - std::string::size
    - std::fprintf
    linkageType: ''
    returnType: ipmi::Cc
    signature: "ipmi::Cc getFruSdrs([[maybe_unused]] ipmi::Context::ptr ctx, size_t
      index,\n                    get_sdr::SensorDataFruRecord& resp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::filesystem::directory_iterator
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:740,1
    - Dst: path
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:743,1
    - Dst: std::string::starts_with
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:744,1
    - Dst: emplace_back
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:747,1
    - Dst: std::sort
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:754,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:754,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:754,1
    - Dst: empty
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:756,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' selLogFiles'
    argTypes:
    - std::vector<std::filesystem::path>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 736
    functionDepth: 0
    functionLinenumber: 736
    functionLinenumberEnd: 757
    functionName: ipmi::storage::getSELLogFiles
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 0
    functionsReached:
    - path
    - std::filesystem::directory_iterator
    - std::sort
    - emplace_back
    - end
    - begin
    - empty
    - std::string::starts_with
    linkageType: ''
    returnType: bool
    signature: bool getSELLogFiles(std::vector<std::filesystem::path>& selLogFiles)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::storage::getSELLogFiles
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:763,1
    - Dst: std::ifstream::is_open
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:772,1
    - Dst: std::getline
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:778,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 759
    functionDepth: 1
    functionLinenumber: 759
    functionLinenumberEnd: 784
    functionName: ipmi::storage::countSELEntries
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 0
    functionsReached:
    - std::ifstream::is_open
    - ipmi::storage::getSELLogFiles
    - std::getline
    linkageType: ''
    returnType: int
    signature: int countSELEntries()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:792,1
    - Dst: std::ifstream::is_open
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:798,1
    - Dst: std::getline
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:803,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:806,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - recordID
    - ' selLogFiles'
    - ' entry'
    argTypes:
    - int
    - std::vector<std::filesystem::path>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 786
    functionDepth: 0
    functionLinenumber: 786
    functionLinenumberEnd: 813
    functionName: ipmi::storage::findSELEntry
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - std::getline
    - std::ifstream::is_open
    - find
    linkageType: ''
    returnType: bool
    signature: "bool findSELEntry(const int recordID,\n                         const
      std::vector<std::filesystem::path>& selLogFiles,\n                         std::string&
      entry)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::storage::findSELEntry
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:821,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - recordID
    - ' selLogFiles'
    argTypes:
    - uint16_t
    - std::vector<std::filesystem::path>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 815
    functionDepth: 1
    functionLinenumber: 815
    functionLinenumberEnd: 829
    functionName: ipmi::storage::getNextRecordID
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 0
    functionsReached:
    - ipmi::storage::findSELEntry
    linkageType: ''
    returnType: uint16_t
    signature: "uint16_t getNextRecordID(\n    const uint16_t recordID,\n    const
      std::vector<std::filesystem::path>& selLogFiles)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:833,1
    - Dst: push_back
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:837,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:837,1
    - Dst: std::stoul
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:838,1
    - Dst: substr
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:838,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:842,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:847,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - ' hexStr'
    - ' data'
    argTypes:
    - std::string
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 831
    functionDepth: 0
    functionLinenumber: 831
    functionLinenumberEnd: 852
    functionName: ipmi::storage::fromHexStr
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 0
    functionsReached:
    - size
    - substr
    - static_cast<uint8_t>
    - std::stoul
    - push_back
    - lg2::error
    linkageType: ''
    returnType: int
    signature: int fromHexStr(const std::string& hexStr, std::vector<uint8_t>& data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::storage::countSELEntries
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:863,1
    - Dst: dynamic_sensors::ipmi::sel::getFileTimestamp
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:864,1
    - Dst: dynamic_sensors::ipmi::sel::erase_time::get
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:867,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:873,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 875
      start: 854
    functionDepth: 2
    functionLinenumber: 854
    functionLinenumberEnd: 875
    functionName: ipmi::storage::ipmiStorageGetSELInfo
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 0
    functionsReached:
    - dynamic_sensors::ipmi::sel::getFileTimestamp
    - ipmi::storage::countSELEntries
    - ipmi::responseSuccess
    - dynamic_sensors::ipmi::sel::erase_time::get
    linkageType: ''
    returnType: "ipmi::RspType<uint8_t,  // SEL version\n              uint16_t, //
      SEL entry count\n              uint16_t, // free space\n              uint32_t,
      // last add timestamp\n              uint32_t, // last erase timestamp\n              uint8_t>"
    signature: "ipmi::RspType<uint8_t,  // SEL version\n              uint16_t, //
      SEL entry count\n              uint16_t, // free space\n              uint32_t,
      // last add timestamp\n              uint32_t, // last erase timestamp\n              uint8_t>
      ipmiStorageGetSELInfo()"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::responseRetBytesUnavailable
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:906,1
    - Dst: checkSELReservation
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:913,1
    - Dst: ipmi::responseInvalidReservationId
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:915,1
    - Dst: ipmi::storage::getSELLogFiles
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:921,1
    - Dst: ipmi::responseSensorInvalid
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:923,1
    - Dst: std::vector::back
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:931,1
    - Dst: std::ifstream::is_open
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:932,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:934,1
    - Dst: std::getline
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:937,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:939,1
    - Dst: std::vector::front
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:945,1
    - Dst: std::ifstream::is_open
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:946,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:948,1
    - Dst: std::getline
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:952,1
    - Dst: ipmi::storage::findSELEntry
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:959,1
    - Dst: ipmi::responseSensorInvalid
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:961,1
    - Dst: std::string::find_first_of
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:968,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:971,1
    - Dst: std::string::substr
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:973,1
    - Dst: std::string::find_first_not_of
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:975,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:978,1
    - Dst: std::string_view::remove_prefix
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:981,1
    - Dst: ipmi::split
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:984,1
    - Dst: boost::is_any_of
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:984,1
    - Dst: std::vector::size
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:986,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:988,1
    - Dst: std::stoul
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:998,1
    - Dst: std::stoul
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:999,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1003,1
    - Dst: ipmi::storage::getNextRecordID
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1005,1
    - Dst: ipmi::storage::fromHexStr
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1007,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1009,1
    - Dst: std::get_time
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1019,1
    - Dst: std::mktime
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1022,1
    - Dst: std::vector::size
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1035,1
    - Dst: std::stoul
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1044,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1048,1
    - Dst: getSensorTypeFromPath
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1052,1
    - Dst: getSensorNumberFromPath
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1053,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1054,1
    - Dst: getSensorEventTypeFromPath
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1065,1
    - Dst: std::stoul
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1070,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1074,1
    - Dst: std::copy_n
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1081,1
    - Dst: std::vector::begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1081,1
    - Dst: std::min
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1082,1
    - Dst: std::vector::size
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1082,1
    - Dst: std::array::size
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1082,1
    - Dst: std::array::begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1083,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1085,1
    - Dst: std::get_time
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1099,1
    - Dst: std::mktime
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1102,1
    - Dst: std::copy_n
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1108,1
    - Dst: std::vector::begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1108,1
    - Dst: std::min
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1109,1
    - Dst: std::vector::size
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1109,1
    - Dst: std::array::size
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1109,1
    - Dst: std::array::begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1110,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1112,1
    - Dst: std::copy_n
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1121,1
    - Dst: std::vector::begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1121,1
    - Dst: std::min
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1122,1
    - Dst: std::vector::size
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1122,1
    - Dst: std::array::size
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1122,1
    - Dst: std::array::begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1123,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1125,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1129,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 94
    argCount: 4
    argNames:
    - reservationID
    - targetID
    - offset
    - size
    argTypes:
    - uint16_t
    - uint16_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1130
      start: 894
    functionDepth: 4
    functionLinenumber: 894
    functionLinenumberEnd: 1130
    functionName: ipmi::storage::ipmiStorageGetSELEntry
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 0
    functionsReached:
    - ipmi::responseSuccess
    - ipmi::responseUnspecifiedError
    - std::vector::back
    - std::array::begin
    - static_cast<uint8_t>
    - ipmi::responseInvalidReservationId
    - std::vector::front
    - std::copy_n
    - ipmi::storage::fromHexStr
    - std::vector::begin
    - std::min
    - std::array::size
    - ipmi::split
    - std::getline
    - getSensorEventTypeFromPath
    - ipmi::storage::getSELLogFiles
    - ipmi::storage::findSELEntry
    - ipmi::storage::getNextRecordID
    - std::ifstream::is_open
    - std::string::find_first_not_of
    - getSensorTypeFromPath
    - std::string_view::remove_prefix
    - lg2::error
    - checkSELReservation
    - getSensorNumberFromPath
    - std::vector::size
    - std::string::substr
    - std::string::find_first_of
    - boost::is_any_of
    - ipmi::responseSensorInvalid
    - std::stoul
    - std::mktime
    - std::get_time
    - ipmi::responseRetBytesUnavailable
    linkageType: ''
    returnType: "ipmi::RspType<uint16_t,                   // Next Record ID\n              uint16_t,
      \                  // Record ID\n              uint8_t,                    //
      Record Type\n              std::variant<systemEventType, oemTsEventType,\n                           oemEventType>>"
    signature: "ipmi::RspType<uint16_t,                   // Next Record ID\n              uint16_t,
      \                  // Record ID\n              uint8_t,                    //
      Record Type\n              std::variant<systemEventType, oemTsEventType,\n                           oemEventType>>
      ipmiStorageGetSELEntry(uint16_t reservationID, uint16_t targetID,\n                           uint8_t
      offset, uint8_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cancelSELReservation
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1145,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1149
      start: 1139
    functionDepth: 1
    functionLinenumber: 1139
    functionLinenumberEnd: 1149
    functionName: ipmi::storage::ipmiStorageAddSELEntry
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 0
    functionsReached:
    - ipmi::responseSuccess
    - cancelSELReservation
    linkageType: ''
    returnType: ipmi::RspType<uint16_t>
    signature: "ipmi::RspType<uint16_t> ipmiStorageAddSELEntry(\n    uint16_t, uint8_t,
      uint32_t, uint16_t, uint8_t, uint8_t, uint8_t, uint8_t,\n    uint8_t, uint8_t,
      uint8_t)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: checkSELReservation
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1155,1
    - Dst: ipmi::responseInvalidReservationId
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1157,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1163,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1170,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1176,1
    - Dst: cancelSELReservation
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1181,1
    - Dst: ipmi::callDbusMethod
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1184,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1189,1
    - Dst: boost::system::error_code::message
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1189,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1190,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1193,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - ctx
    - reservationID
    - ' clr'
    - eraseOperation
    argTypes:
    - ipmi::Context::ptr
    - uint16_t
    - std::array<uint8_t, 3>
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1194
      start: 1151
    functionDepth: 1
    functionLinenumber: 1151
    functionLinenumberEnd: 1194
    functionName: ipmi::storage::ipmiStorageClearSEL
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 0
    functionsReached:
    - ipmi::responseSuccess
    - ipmi::responseUnspecifiedError
    - cancelSELReservation
    - checkSELReservation
    - boost::system::error_code::message
    - ipmi::callDbusMethod
    - ipmi::responseInvalidFieldRequest
    - ipmi::responseInvalidReservationId
    - lg2::error
    linkageType: ''
    returnType: ipmi::RspType<uint8_t>
    signature: "ipmi::RspType<uint8_t> ipmiStorageClearSEL(\n    ipmi::Context::ptr
      ctx, uint16_t reservationID,\n    const std::array<uint8_t, 3>& clr, uint8_t
      eraseOperation)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_sdr::key::setFlags
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1212,1
    - Dst: std::vector::insert
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1225,1
    - Dst: std::vector::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 2
    argNames:
    - ' entity'
    - recordId
    argTypes:
    - ipmi::sensor::EntityInfoMap::const_iterator
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1228
      start: 1196
    functionDepth: 1
    functionLinenumber: 1196
    functionLinenumberEnd: 1228
    functionName: ipmi::storage::getType8SDRs
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 0
    functionsReached:
    - std::vector::end
    - std::vector::insert
    - get_sdr::key::setFlags
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> getType8SDRs(\n    ipmi::sensor::EntityInfoMap::const_iterator&
      entity, uint16_t recordId)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1237,1
    - Dst: std::vector::insert
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1238,1
    - Dst: std::vector::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1238,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1244,1
    - Dst: std::vector::insert
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1245,1
    - Dst: std::vector::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1245,1
    - Dst: std::runtime_error
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1249,1
    - Dst: std::to_string
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1250,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - index
    - recordId
    argTypes:
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1254
      start: 1230
    functionDepth: 0
    functionLinenumber: 1230
    functionLinenumberEnd: 1254
    functionName: ipmi::storage::getType12SDRs
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - reinterpret_cast<uint8_t*>
    - std::runtime_error
    - std::vector::end
    - std::vector::insert
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> getType12SDRs(uint16_t index, uint16_t recordId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::storage::createTimers
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1258,1
    - Dst: ipmi::storage::startMatch
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1259,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1262,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1266,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1271,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1276,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1281,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1286,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1294
      start: 1256
    functionDepth: 5
    functionLinenumber: 1256
    functionLinenumberEnd: 1294
    functionName: ipmi::storage::registerStorageFunctions
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 0
    functionsReached:
    - ipmi::registerHandler
    - ipmi::storage::startMatch
    - ipmi::storage::createTimers
    linkageType: ''
    returnType: void
    signature: void registerStorageFunctions()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getSdBus
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:121,1
    - Dst: std::shared_ptr::new_method_call
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:122,1
    - Dst: sdbusplus::message_t::append
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:125,1
    - Dst: std::shared_ptr::call
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:128,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:133,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - ' fru'
    argTypes:
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 139
    functionName: ipmi::storage::writeFru
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 2
    functionsReached:
    - lg2::error
    - std::shared_ptr::new_method_call
    - std::shared_ptr::call
    - getSdBus
    - sdbusplus::message_t::append
    linkageType: ''
    returnType: bool
    signature: bool writeFru(const std::vector<uint8_t>& fru)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::storage::writeFru
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 144
    functionName: ipmi::storage::writeFruCache
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 1
    functionsReached:
    - ipmi::storage::writeFru
    linkageType: ''
    returnType: void
    signature: void writeFruCache()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<sdbusplus::Timer>
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 149
    functionName: ipmi::storage::createTimers
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 1
    functionsReached:
    - std::make_unique<sdbusplus::Timer>
    linkageType: ''
    returnType: void
    signature: void createTimers()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:153,1
    - Dst: second::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:159,1
    - Dst: second::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:160,1
    - Dst: auto::second::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:165,1
    - Dst: auto::second::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:166,1
    - Dst: auto::second::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:167,1
    - Dst: auto::second::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:168,1
    - Dst: lg2::info
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:170,1
    - Dst: std::get<uint32_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:175,1
    - Dst: std::get<uint32_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:176,1
    - Dst: auto::second::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:177,1
    - Dst: auto::second::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:179,1
    - Dst: std::get<std::string>
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:181,1
    - Dst: std::string::compare
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:185,1
    - Dst: std::string::compare
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:186,1
    - Dst: hasher
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:188,1
    - Dst: emplace
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:200,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 214
    functionName: ipmi::storage::recalculateHashes
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 2
    functionsReached:
    - std::get<uint32_t>
    - hasher
    - emplace
    - auto::second::find
    - second::end
    - std::string::compare
    - auto::second::end
    - lg2::info
    - clear
    - second::find
    - std::get<std::string>
    linkageType: ''
    returnType: void
    signature: void recalculateHashes()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: yield_method_call
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:223,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:228,1
    - Dst: boost::system::error_code::message
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:229,1
    - Dst: ipmi::storage::recalculateHashes
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' bus'
    - ' yield'
    argTypes:
    - std::shared_ptr<sdbusplus::asio::connection>
    - boost::asio::yield_context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 234
    functionName: ipmi::storage::replaceCacheFru
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 1
    functionsReached:
    - boost::system::error_code::message
    - yield_method_call
    - lg2::error
    - ipmi::storage::recalculateHashes
    linkageType: ''
    returnType: void
    signature: "void replaceCacheFru(\n    const std::shared_ptr<sdbusplus::asio::connection>&
      bus,\n    boost::asio::yield_context& yield,\n    [[maybe_unused]] const std::optional<std::string>&
      path = std::nullopt)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:244,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:245,1
    - Dst: ipmi::callDbusMethod<std::vector<uint8_t>>
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:254,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:261,1
    - Dst: boost::system::error_code::message
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:261,1
    - Dst: clear
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:268,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - ctx
    - devId
    argTypes:
    - ipmi::Context::ptr
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 273
    functionName: ipmi::storage::getFru
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 3
    functionsReached:
    - find
    - boost::system::error_code::message
    - clear
    - end
    - ipmi::callDbusMethod<std::vector<uint8_t>>
    - lg2::error
    linkageType: ''
    returnType: std::pair<ipmi::Cc, std::vector<uint8_t>>
    signature: "std::pair<ipmi::Cc, std::vector<uint8_t>> getFru(ipmi::Context::ptr
      ctx,\n                                                 uint8_t devId)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isRunning
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:277,1
    - Dst: stop
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:281,1
    - Dst: ipmi::storage::writeFruCache
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:282,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 275
    functionDepth: 3
    functionLinenumber: 275
    functionLinenumberEnd: 283
    functionName: ipmi::storage::writeFruIfRunning
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 1
    functionsReached:
    - stop
    - ipmi::storage::writeFruCache
    - isRunning
    linkageType: ''
    returnType: void
    signature: void writeFruIfRunning()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:287,1
    - Dst: reserve
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:292,1
    - Dst: getSdBus
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:294,1
    - Dst: emplace_back
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:295,1
    - Dst: read
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:304,1
    - Dst: ObjectType::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:310,1
    - Dst: ObjectType::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:311,1
    - Dst: ipmi::storage::writeFruIfRunning
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:315,1
    - Dst: ipmi::storage::recalculateHashes
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:317,1
    - Dst: emplace_back
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:321,1
    - Dst: read
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:330,1
    - Dst: std::set::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:336,1
    - Dst: std::set::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:337,1
    - Dst: ipmi::storage::writeFruIfRunning
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:341,1
    - Dst: erase
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:342,1
    - Dst: ipmi::storage::recalculateHashes
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:343,1
    - Dst: boost::asio::spawn
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:348,1
    - Dst: getIoContext
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:349,1
    - Dst: ipmi::storage::replaceCacheFru
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:351,1
    - Dst: getSdBus
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:351,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 285
    functionDepth: 4
    functionLinenumber: 285
    functionLinenumberEnd: 354
    functionName: ipmi::storage::startMatch
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 1
    functionsReached:
    - ObjectType::end
    - getIoContext
    - std::set::find
    - ipmi::storage::writeFruIfRunning
    - read
    - ObjectType::find
    - size
    - reserve
    - getSdBus
    - erase
    - ipmi::storage::replaceCacheFru
    - emplace_back
    - boost::asio::spawn
    - std::set::end
    - ipmi::storage::recalculateHashes
    linkageType: ''
    returnType: void
    signature: void startMatch(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:372,1
    - Dst: ipmi::storage::getFru
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:375,1
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:378,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:382,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:386,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:388,1
    - Dst: ipmi::responseReqDataLenExceeded
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:392,1
    - Dst: std::vector::insert
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:397,1
    - Dst: std::vector::begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:397,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:398,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:399,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:401,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:401,1
    - Dst: std::vector::size
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:401,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - ctx
    - fruDeviceId
    - fruInventoryOffset
    - countToRead
    argTypes:
    - ipmi::Context::ptr
    - uint8_t
    - uint16_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 403
    functionName: ipmi::storage::ipmiStorageReadFruData
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 0
    functionsReached:
    - std::vector::begin
    - ipmi::responseSuccess
    - ipmi::responseReqDataLenExceeded
    - std::vector::size
    - size
    - ipmi::responseInvalidFieldRequest
    - ipmi::storage::getFru
    - static_cast<uint8_t>
    - begin
    - ipmi::response
    - std::vector::insert
    linkageType: ''
    returnType: "ipmi::RspType<uint8_t,             // Count\n              std::vector<uint8_t>
      // Requested data\n              >"
    signature: "ipmi::RspType<uint8_t,             // Count\n              std::vector<uint8_t>
      // Requested data\n              > ipmiStorageReadFruData(ipmi::Context::ptr
      ctx, uint8_t fruDeviceId,\n                           uint16_t fruInventoryOffset,
      uint8_t countToRead)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:419,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:422,1
    - Dst: ipmi::storage::getFru
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:424,1
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:427,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:430,1
    - Dst: resize
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:432,1
    - Dst: std::copy
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:435,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:435,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:435,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:436,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:440,1
    - Dst: reinterpret_cast<FRUHeader*>
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:442,1
    - Dst: data
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:442,1
    - Dst: std::max
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:445,1
    - Dst: stop
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:494,1
    - Dst: ipmi::storage::writeFru
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:495,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:497,1
    - Dst: std::min
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:499,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:499,1
    - Dst: static_cast<size_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:499,1
    - Dst: start
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:506,1
    - Dst: std::chrono::duration_cast<std::chrono::microseconds>
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:506,1
    - Dst: std::chrono::seconds
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:507,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:511,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 46
    argCount: 4
    argNames:
    - ctx
    - fruDeviceId
    - fruInventoryOffset
    - ' dataToWrite'
    argTypes:
    - ipmi::Context::ptr
    - uint8_t
    - uint16_t
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 413
    functionDepth: 2
    functionLinenumber: 413
    functionLinenumberEnd: 512
    functionName: ipmi::storage::ipmiStorageWriteFruData
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<FRUHeader*>
    - stop
    - static_cast<size_t>
    - start
    - ipmi::responseSuccess
    - std::chrono::duration_cast<std::chrono::microseconds>
    - std::min
    - size
    - std::chrono::seconds
    - ipmi::responseInvalidFieldRequest
    - ipmi::storage::getFru
    - resize
    - std::copy
    - begin
    - data
    - ipmi::storage::writeFru
    - ipmi::response
    - std::max
    linkageType: ''
    returnType: ipmi::RspType<uint8_t>
    signature: "ipmi::RspType<uint8_t> ipmiStorageWriteFruData(\n    ipmi::Context::ptr
      ctx, uint8_t fruDeviceId, uint16_t fruInventoryOffset,\n    std::vector<uint8_t>&
      dataToWrite)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:527,1
    - Dst: ipmi::storage::getFru
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:530,1
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:533,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:537,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:539,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:539,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - fruDeviceId
    argTypes:
    - ipmi::Context::ptr
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 521
    functionDepth: 1
    functionLinenumber: 521
    functionLinenumberEnd: 540
    functionName: ipmi::storage::ipmiStorageGetFruInvAreaInfo
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 0
    functionsReached:
    - ipmi::responseSuccess
    - size
    - static_cast<uint8_t>
    - ipmi::responseInvalidFieldRequest
    - ipmi::storage::getFru
    - ipmi::response
    linkageType: ''
    returnType: "ipmi::RspType<uint16_t, // inventorySize\n              uint8_t>"
    signature: "ipmi::RspType<uint16_t, // inventorySize\n              uint8_t> ipmiStorageGetFruInvAreaInfo(ipmi::Context::ptr
      ctx, uint8_t fruDeviceId)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' count'
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 546
    functionName: ipmi::storage::getFruSdrCount
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: ipmi::Cc
    signature: ipmi::Cc getFruSdrCount(ipmi::Context::ptr, size_t& count)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:551,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:555,1
    - Dst: std::find_if
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:560,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:561,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:561,1
    - Dst: second::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:564,1
    - Dst: second::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:565,1
    - Dst: auto::second::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:570,1
    - Dst: auto::second::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:571,1
    - Dst: auto::second::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:572,1
    - Dst: auto::second::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:573,1
    - Dst: std::get<uint32_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:577,1
    - Dst: std::get<uint32_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:581,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:587,1
    - Dst: ipmi::callDbusMethod<Paths>
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:598,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:608,1
    - Dst: boost::system::error_code::message
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:610,1
    - Dst: ipmi::getAllDbusProperties
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:618,1
    - Dst: std::get<uint64_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:633,1
    - Dst: std::get<uint64_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:637,1
    - Dst: std::get<std::string>
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:641,1
    - Dst: std::optional::has_value
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:653,1
    - Dst: ipmi::getAllDbusProperties
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:659,1
    - Dst: std::get<uint64_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:668,1
    - Dst: std::get<uint64_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:672,1
    - Dst: std::fprintf
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:683,1
    - Dst: boost::container::flat_map<std::string, Value>*::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:696,1
    - Dst: boost::container::flat_map<std::string, Value>*::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:697,1
    - Dst: std::get<std::string>
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:699,1
    - Dst: std::string::empty
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:704,1
    - Dst: std::string::size
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:708,1
    - Dst: std::string::substr
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:710,1
    - Dst: std::string::size
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:712,1
    - Dst: std::string::size
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:730,1
    - Dst: std::string::copy
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:731,1
    - Dst: std::string::size
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:731,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 91
    argCount: 3
    argNames:
    - ctx
    - index
    - ' resp'
    argTypes:
    - ipmi::Context::ptr
    - size_t
    - get_sdr::SensorDataFruRecord
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 548
    functionDepth: 1
    functionLinenumber: 548
    functionLinenumberEnd: 734
    functionName: ipmi::storage::getFruSdrs
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 0
    functionsReached:
    - std::get<uint64_t>
    - begin
    - std::string::empty
    - std::get<uint32_t>
    - std::string::copy
    - ipmi::getAllDbusProperties
    - end
    - second::find
    - ipmi::callDbusMethod<Paths>
    - boost::container::flat_map<std::string, Value>*::end
    - boost::system::error_code::message
    - size
    - auto::second::find
    - auto::second::end
    - std::find_if
    - lg2::error
    - std::get<std::string>
    - std::optional::has_value
    - std::string::substr
    - second::end
    - boost::container::flat_map<std::string, Value>*::find
    - std::string::size
    - std::fprintf
    linkageType: ''
    returnType: ipmi::Cc
    signature: "ipmi::Cc getFruSdrs([[maybe_unused]] ipmi::Context::ptr ctx, size_t
      index,\n                    get_sdr::SensorDataFruRecord& resp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::filesystem::directory_iterator
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:740,1
    - Dst: path
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:743,1
    - Dst: std::string::starts_with
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:744,1
    - Dst: emplace_back
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:747,1
    - Dst: std::sort
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:754,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:754,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:754,1
    - Dst: empty
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:756,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' selLogFiles'
    argTypes:
    - std::vector<std::filesystem::path>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 736
    functionDepth: 0
    functionLinenumber: 736
    functionLinenumberEnd: 757
    functionName: ipmi::storage::getSELLogFiles
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 2
    functionsReached:
    - path
    - std::filesystem::directory_iterator
    - std::sort
    - emplace_back
    - end
    - begin
    - empty
    - std::string::starts_with
    linkageType: ''
    returnType: bool
    signature: bool getSELLogFiles(std::vector<std::filesystem::path>& selLogFiles)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::storage::getSELLogFiles
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:763,1
    - Dst: std::ifstream::is_open
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:772,1
    - Dst: std::getline
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:778,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 759
    functionDepth: 1
    functionLinenumber: 759
    functionLinenumberEnd: 784
    functionName: ipmi::storage::countSELEntries
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 1
    functionsReached:
    - std::ifstream::is_open
    - ipmi::storage::getSELLogFiles
    - std::getline
    linkageType: ''
    returnType: int
    signature: int countSELEntries()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:792,1
    - Dst: std::ifstream::is_open
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:798,1
    - Dst: std::getline
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:803,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:806,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - recordID
    - ' selLogFiles'
    - ' entry'
    argTypes:
    - int
    - std::vector<std::filesystem::path>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 786
    functionDepth: 0
    functionLinenumber: 786
    functionLinenumberEnd: 813
    functionName: ipmi::storage::findSELEntry
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 2
    functionsReached:
    - std::to_string
    - std::getline
    - std::ifstream::is_open
    - find
    linkageType: ''
    returnType: bool
    signature: "bool findSELEntry(const int recordID,\n                         const
      std::vector<std::filesystem::path>& selLogFiles,\n                         std::string&
      entry)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::storage::findSELEntry
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:821,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - recordID
    - ' selLogFiles'
    argTypes:
    - uint16_t
    - std::vector<std::filesystem::path>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 815
    functionDepth: 1
    functionLinenumber: 815
    functionLinenumberEnd: 829
    functionName: ipmi::storage::getNextRecordID
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 1
    functionsReached:
    - ipmi::storage::findSELEntry
    linkageType: ''
    returnType: uint16_t
    signature: "uint16_t getNextRecordID(\n    const uint16_t recordID,\n    const
      std::vector<std::filesystem::path>& selLogFiles)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:833,1
    - Dst: push_back
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:837,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:837,1
    - Dst: std::stoul
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:838,1
    - Dst: substr
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:838,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:842,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:847,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - ' hexStr'
    - ' data'
    argTypes:
    - std::string
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 831
    functionDepth: 0
    functionLinenumber: 831
    functionLinenumberEnd: 852
    functionName: ipmi::storage::fromHexStr
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 1
    functionsReached:
    - size
    - substr
    - static_cast<uint8_t>
    - std::stoul
    - push_back
    - lg2::error
    linkageType: ''
    returnType: int
    signature: int fromHexStr(const std::string& hexStr, std::vector<uint8_t>& data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::storage::countSELEntries
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:863,1
    - Dst: dynamic_sensors::ipmi::sel::getFileTimestamp
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:864,1
    - Dst: dynamic_sensors::ipmi::sel::erase_time::get
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:867,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:873,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 875
      start: 854
    functionDepth: 2
    functionLinenumber: 854
    functionLinenumberEnd: 875
    functionName: ipmi::storage::ipmiStorageGetSELInfo
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 0
    functionsReached:
    - dynamic_sensors::ipmi::sel::getFileTimestamp
    - ipmi::storage::countSELEntries
    - ipmi::responseSuccess
    - dynamic_sensors::ipmi::sel::erase_time::get
    linkageType: ''
    returnType: "ipmi::RspType<uint8_t,  // SEL version\n              uint16_t, //
      SEL entry count\n              uint16_t, // free space\n              uint32_t,
      // last add timestamp\n              uint32_t, // last erase timestamp\n              uint8_t>"
    signature: "ipmi::RspType<uint8_t,  // SEL version\n              uint16_t, //
      SEL entry count\n              uint16_t, // free space\n              uint32_t,
      // last add timestamp\n              uint32_t, // last erase timestamp\n              uint8_t>
      ipmiStorageGetSELInfo()"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::responseRetBytesUnavailable
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:906,1
    - Dst: checkSELReservation
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:913,1
    - Dst: ipmi::responseInvalidReservationId
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:915,1
    - Dst: ipmi::storage::getSELLogFiles
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:921,1
    - Dst: ipmi::responseSensorInvalid
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:923,1
    - Dst: std::vector::back
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:931,1
    - Dst: std::ifstream::is_open
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:932,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:934,1
    - Dst: std::getline
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:937,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:939,1
    - Dst: std::vector::front
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:945,1
    - Dst: std::ifstream::is_open
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:946,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:948,1
    - Dst: std::getline
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:952,1
    - Dst: ipmi::storage::findSELEntry
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:959,1
    - Dst: ipmi::responseSensorInvalid
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:961,1
    - Dst: std::string::find_first_of
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:968,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:971,1
    - Dst: std::string::substr
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:973,1
    - Dst: std::string::find_first_not_of
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:975,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:978,1
    - Dst: std::string_view::remove_prefix
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:981,1
    - Dst: ipmi::split
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:984,1
    - Dst: boost::is_any_of
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:984,1
    - Dst: std::vector::size
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:986,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:988,1
    - Dst: std::stoul
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:998,1
    - Dst: std::stoul
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:999,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1003,1
    - Dst: ipmi::storage::getNextRecordID
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1005,1
    - Dst: ipmi::storage::fromHexStr
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1007,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1009,1
    - Dst: std::get_time
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1019,1
    - Dst: std::mktime
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1022,1
    - Dst: std::vector::size
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1035,1
    - Dst: std::stoul
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1044,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1048,1
    - Dst: getSensorTypeFromPath
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1052,1
    - Dst: getSensorNumberFromPath
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1053,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1054,1
    - Dst: getSensorEventTypeFromPath
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1065,1
    - Dst: std::stoul
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1070,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1074,1
    - Dst: std::copy_n
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1081,1
    - Dst: std::vector::begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1081,1
    - Dst: std::min
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1082,1
    - Dst: std::vector::size
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1082,1
    - Dst: std::array::size
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1082,1
    - Dst: std::array::begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1083,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1085,1
    - Dst: std::get_time
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1099,1
    - Dst: std::mktime
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1102,1
    - Dst: std::copy_n
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1108,1
    - Dst: std::vector::begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1108,1
    - Dst: std::min
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1109,1
    - Dst: std::vector::size
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1109,1
    - Dst: std::array::size
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1109,1
    - Dst: std::array::begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1110,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1112,1
    - Dst: std::copy_n
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1121,1
    - Dst: std::vector::begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1121,1
    - Dst: std::min
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1122,1
    - Dst: std::vector::size
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1122,1
    - Dst: std::array::size
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1122,1
    - Dst: std::array::begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1123,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1125,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1129,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 94
    argCount: 4
    argNames:
    - reservationID
    - targetID
    - offset
    - size
    argTypes:
    - uint16_t
    - uint16_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1130
      start: 894
    functionDepth: 4
    functionLinenumber: 894
    functionLinenumberEnd: 1130
    functionName: ipmi::storage::ipmiStorageGetSELEntry
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 0
    functionsReached:
    - ipmi::responseSuccess
    - ipmi::responseUnspecifiedError
    - std::vector::back
    - std::array::begin
    - static_cast<uint8_t>
    - ipmi::responseInvalidReservationId
    - std::vector::front
    - std::copy_n
    - ipmi::storage::fromHexStr
    - std::vector::begin
    - std::min
    - std::array::size
    - ipmi::split
    - std::getline
    - getSensorEventTypeFromPath
    - ipmi::storage::getSELLogFiles
    - ipmi::storage::findSELEntry
    - ipmi::storage::getNextRecordID
    - std::ifstream::is_open
    - std::string::find_first_not_of
    - getSensorTypeFromPath
    - std::string_view::remove_prefix
    - lg2::error
    - checkSELReservation
    - getSensorNumberFromPath
    - std::vector::size
    - std::string::substr
    - std::string::find_first_of
    - boost::is_any_of
    - ipmi::responseSensorInvalid
    - std::stoul
    - std::mktime
    - std::get_time
    - ipmi::responseRetBytesUnavailable
    linkageType: ''
    returnType: "ipmi::RspType<uint16_t,                   // Next Record ID\n              uint16_t,
      \                  // Record ID\n              uint8_t,                    //
      Record Type\n              std::variant<systemEventType, oemTsEventType,\n                           oemEventType>>"
    signature: "ipmi::RspType<uint16_t,                   // Next Record ID\n              uint16_t,
      \                  // Record ID\n              uint8_t,                    //
      Record Type\n              std::variant<systemEventType, oemTsEventType,\n                           oemEventType>>
      ipmiStorageGetSELEntry(uint16_t reservationID, uint16_t targetID,\n                           uint8_t
      offset, uint8_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cancelSELReservation
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1145,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1149
      start: 1139
    functionDepth: 1
    functionLinenumber: 1139
    functionLinenumberEnd: 1149
    functionName: ipmi::storage::ipmiStorageAddSELEntry
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 0
    functionsReached:
    - ipmi::responseSuccess
    - cancelSELReservation
    linkageType: ''
    returnType: ipmi::RspType<uint16_t>
    signature: "ipmi::RspType<uint16_t> ipmiStorageAddSELEntry(\n    uint16_t, uint8_t,
      uint32_t, uint16_t, uint8_t, uint8_t, uint8_t, uint8_t,\n    uint8_t, uint8_t,
      uint8_t)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: checkSELReservation
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1155,1
    - Dst: ipmi::responseInvalidReservationId
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1157,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1163,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1170,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1176,1
    - Dst: cancelSELReservation
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1181,1
    - Dst: ipmi::callDbusMethod
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1184,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1189,1
    - Dst: boost::system::error_code::message
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1189,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1190,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1193,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - ctx
    - reservationID
    - ' clr'
    - eraseOperation
    argTypes:
    - ipmi::Context::ptr
    - uint16_t
    - std::array<uint8_t, 3>
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1194
      start: 1151
    functionDepth: 1
    functionLinenumber: 1151
    functionLinenumberEnd: 1194
    functionName: ipmi::storage::ipmiStorageClearSEL
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 0
    functionsReached:
    - ipmi::responseSuccess
    - ipmi::responseUnspecifiedError
    - cancelSELReservation
    - checkSELReservation
    - boost::system::error_code::message
    - ipmi::callDbusMethod
    - ipmi::responseInvalidFieldRequest
    - ipmi::responseInvalidReservationId
    - lg2::error
    linkageType: ''
    returnType: ipmi::RspType<uint8_t>
    signature: "ipmi::RspType<uint8_t> ipmiStorageClearSEL(\n    ipmi::Context::ptr
      ctx, uint16_t reservationID,\n    const std::array<uint8_t, 3>& clr, uint8_t
      eraseOperation)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_sdr::key::setFlags
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1212,1
    - Dst: std::vector::insert
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1225,1
    - Dst: std::vector::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 2
    argNames:
    - ' entity'
    - recordId
    argTypes:
    - ipmi::sensor::EntityInfoMap::const_iterator
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1228
      start: 1196
    functionDepth: 1
    functionLinenumber: 1196
    functionLinenumberEnd: 1228
    functionName: ipmi::storage::getType8SDRs
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 0
    functionsReached:
    - std::vector::end
    - std::vector::insert
    - get_sdr::key::setFlags
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> getType8SDRs(\n    ipmi::sensor::EntityInfoMap::const_iterator&
      entity, uint16_t recordId)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1237,1
    - Dst: std::vector::insert
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1238,1
    - Dst: std::vector::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1238,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1244,1
    - Dst: std::vector::insert
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1245,1
    - Dst: std::vector::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1245,1
    - Dst: std::runtime_error
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1249,1
    - Dst: std::to_string
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1250,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - index
    - recordId
    argTypes:
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1254
      start: 1230
    functionDepth: 0
    functionLinenumber: 1230
    functionLinenumberEnd: 1254
    functionName: ipmi::storage::getType12SDRs
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - reinterpret_cast<uint8_t*>
    - std::runtime_error
    - std::vector::end
    - std::vector::insert
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> getType12SDRs(uint16_t index, uint16_t recordId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::storage::createTimers
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1258,1
    - Dst: ipmi::storage::startMatch
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1259,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1262,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1266,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1271,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1276,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1281,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1286,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1294
      start: 1256
    functionDepth: 5
    functionLinenumber: 1256
    functionLinenumberEnd: 1294
    functionName: ipmi::storage::registerStorageFunctions
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 0
    functionsReached:
    - ipmi::registerHandler
    - ipmi::storage::startMatch
    - ipmi::storage::createTimers
    linkageType: ''
    returnType: void
    signature: void registerStorageFunctions()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getSdBus
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:121,1
    - Dst: std::shared_ptr::new_method_call
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:122,1
    - Dst: sdbusplus::message_t::append
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:125,1
    - Dst: std::shared_ptr::call
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:128,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:133,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - ' fru'
    argTypes:
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 139
    functionName: ipmi::storage::writeFru
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 4
    functionsReached:
    - lg2::error
    - std::shared_ptr::new_method_call
    - std::shared_ptr::call
    - getSdBus
    - sdbusplus::message_t::append
    linkageType: ''
    returnType: bool
    signature: bool writeFru(const std::vector<uint8_t>& fru)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::storage::writeFru
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 144
    functionName: ipmi::storage::writeFruCache
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 2
    functionsReached:
    - ipmi::storage::writeFru
    linkageType: ''
    returnType: void
    signature: void writeFruCache()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<sdbusplus::Timer>
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 149
    functionName: ipmi::storage::createTimers
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 2
    functionsReached:
    - std::make_unique<sdbusplus::Timer>
    linkageType: ''
    returnType: void
    signature: void createTimers()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:153,1
    - Dst: second::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:159,1
    - Dst: second::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:160,1
    - Dst: auto::second::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:165,1
    - Dst: auto::second::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:166,1
    - Dst: auto::second::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:167,1
    - Dst: auto::second::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:168,1
    - Dst: lg2::info
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:170,1
    - Dst: std::get<uint32_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:175,1
    - Dst: std::get<uint32_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:176,1
    - Dst: auto::second::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:177,1
    - Dst: auto::second::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:179,1
    - Dst: std::get<std::string>
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:181,1
    - Dst: std::string::compare
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:185,1
    - Dst: std::string::compare
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:186,1
    - Dst: hasher
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:188,1
    - Dst: emplace
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:200,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 214
    functionName: ipmi::storage::recalculateHashes
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 4
    functionsReached:
    - std::get<uint32_t>
    - hasher
    - emplace
    - auto::second::find
    - second::end
    - std::string::compare
    - auto::second::end
    - lg2::info
    - clear
    - second::find
    - std::get<std::string>
    linkageType: ''
    returnType: void
    signature: void recalculateHashes()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: yield_method_call
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:223,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:228,1
    - Dst: boost::system::error_code::message
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:229,1
    - Dst: ipmi::storage::recalculateHashes
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' bus'
    - ' yield'
    argTypes:
    - std::shared_ptr<sdbusplus::asio::connection>
    - boost::asio::yield_context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 234
    functionName: ipmi::storage::replaceCacheFru
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 2
    functionsReached:
    - boost::system::error_code::message
    - yield_method_call
    - lg2::error
    - ipmi::storage::recalculateHashes
    linkageType: ''
    returnType: void
    signature: "void replaceCacheFru(\n    const std::shared_ptr<sdbusplus::asio::connection>&
      bus,\n    boost::asio::yield_context& yield,\n    [[maybe_unused]] const std::optional<std::string>&
      path = std::nullopt)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:244,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:245,1
    - Dst: ipmi::callDbusMethod<std::vector<uint8_t>>
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:254,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:261,1
    - Dst: boost::system::error_code::message
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:261,1
    - Dst: clear
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:268,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - ctx
    - devId
    argTypes:
    - ipmi::Context::ptr
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 273
    functionName: ipmi::storage::getFru
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 6
    functionsReached:
    - find
    - boost::system::error_code::message
    - clear
    - end
    - ipmi::callDbusMethod<std::vector<uint8_t>>
    - lg2::error
    linkageType: ''
    returnType: std::pair<ipmi::Cc, std::vector<uint8_t>>
    signature: "std::pair<ipmi::Cc, std::vector<uint8_t>> getFru(ipmi::Context::ptr
      ctx,\n                                                 uint8_t devId)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isRunning
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:277,1
    - Dst: stop
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:281,1
    - Dst: ipmi::storage::writeFruCache
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:282,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 275
    functionDepth: 3
    functionLinenumber: 275
    functionLinenumberEnd: 283
    functionName: ipmi::storage::writeFruIfRunning
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 2
    functionsReached:
    - stop
    - ipmi::storage::writeFruCache
    - isRunning
    linkageType: ''
    returnType: void
    signature: void writeFruIfRunning()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:287,1
    - Dst: reserve
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:292,1
    - Dst: getSdBus
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:294,1
    - Dst: emplace_back
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:295,1
    - Dst: read
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:304,1
    - Dst: ObjectType::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:310,1
    - Dst: ObjectType::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:311,1
    - Dst: ipmi::storage::writeFruIfRunning
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:315,1
    - Dst: ipmi::storage::recalculateHashes
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:317,1
    - Dst: emplace_back
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:321,1
    - Dst: read
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:330,1
    - Dst: std::set::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:336,1
    - Dst: std::set::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:337,1
    - Dst: ipmi::storage::writeFruIfRunning
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:341,1
    - Dst: erase
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:342,1
    - Dst: ipmi::storage::recalculateHashes
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:343,1
    - Dst: boost::asio::spawn
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:348,1
    - Dst: getIoContext
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:349,1
    - Dst: ipmi::storage::replaceCacheFru
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:351,1
    - Dst: getSdBus
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:351,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 285
    functionDepth: 4
    functionLinenumber: 285
    functionLinenumberEnd: 354
    functionName: ipmi::storage::startMatch
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 2
    functionsReached:
    - ObjectType::end
    - getIoContext
    - std::set::find
    - ipmi::storage::writeFruIfRunning
    - read
    - ObjectType::find
    - size
    - reserve
    - getSdBus
    - erase
    - ipmi::storage::replaceCacheFru
    - emplace_back
    - boost::asio::spawn
    - std::set::end
    - ipmi::storage::recalculateHashes
    linkageType: ''
    returnType: void
    signature: void startMatch(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:372,1
    - Dst: ipmi::storage::getFru
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:375,1
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:378,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:382,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:386,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:388,1
    - Dst: ipmi::responseReqDataLenExceeded
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:392,1
    - Dst: std::vector::insert
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:397,1
    - Dst: std::vector::begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:397,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:398,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:399,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:401,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:401,1
    - Dst: std::vector::size
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:401,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - ctx
    - fruDeviceId
    - fruInventoryOffset
    - countToRead
    argTypes:
    - ipmi::Context::ptr
    - uint8_t
    - uint16_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 403
    functionName: ipmi::storage::ipmiStorageReadFruData
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 0
    functionsReached:
    - std::vector::begin
    - ipmi::responseSuccess
    - ipmi::responseReqDataLenExceeded
    - std::vector::size
    - size
    - ipmi::responseInvalidFieldRequest
    - ipmi::storage::getFru
    - static_cast<uint8_t>
    - begin
    - ipmi::response
    - std::vector::insert
    linkageType: ''
    returnType: "ipmi::RspType<uint8_t,             // Count\n              std::vector<uint8_t>
      // Requested data\n              >"
    signature: "ipmi::RspType<uint8_t,             // Count\n              std::vector<uint8_t>
      // Requested data\n              > ipmiStorageReadFruData(ipmi::Context::ptr
      ctx, uint8_t fruDeviceId,\n                           uint16_t fruInventoryOffset,
      uint8_t countToRead)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:419,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:422,1
    - Dst: ipmi::storage::getFru
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:424,1
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:427,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:430,1
    - Dst: resize
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:432,1
    - Dst: std::copy
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:435,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:435,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:435,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:436,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:440,1
    - Dst: reinterpret_cast<FRUHeader*>
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:442,1
    - Dst: data
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:442,1
    - Dst: std::max
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:445,1
    - Dst: stop
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:494,1
    - Dst: ipmi::storage::writeFru
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:495,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:497,1
    - Dst: std::min
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:499,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:499,1
    - Dst: static_cast<size_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:499,1
    - Dst: start
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:506,1
    - Dst: std::chrono::duration_cast<std::chrono::microseconds>
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:506,1
    - Dst: std::chrono::seconds
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:507,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:511,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 46
    argCount: 4
    argNames:
    - ctx
    - fruDeviceId
    - fruInventoryOffset
    - ' dataToWrite'
    argTypes:
    - ipmi::Context::ptr
    - uint8_t
    - uint16_t
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 413
    functionDepth: 2
    functionLinenumber: 413
    functionLinenumberEnd: 512
    functionName: ipmi::storage::ipmiStorageWriteFruData
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<FRUHeader*>
    - stop
    - static_cast<size_t>
    - start
    - ipmi::responseSuccess
    - std::chrono::duration_cast<std::chrono::microseconds>
    - std::min
    - size
    - std::chrono::seconds
    - ipmi::responseInvalidFieldRequest
    - ipmi::storage::getFru
    - resize
    - std::copy
    - begin
    - data
    - ipmi::storage::writeFru
    - ipmi::response
    - std::max
    linkageType: ''
    returnType: ipmi::RspType<uint8_t>
    signature: "ipmi::RspType<uint8_t> ipmiStorageWriteFruData(\n    ipmi::Context::ptr
      ctx, uint8_t fruDeviceId, uint16_t fruInventoryOffset,\n    std::vector<uint8_t>&
      dataToWrite)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:527,1
    - Dst: ipmi::storage::getFru
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:530,1
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:533,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:537,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:539,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:539,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - fruDeviceId
    argTypes:
    - ipmi::Context::ptr
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 521
    functionDepth: 1
    functionLinenumber: 521
    functionLinenumberEnd: 540
    functionName: ipmi::storage::ipmiStorageGetFruInvAreaInfo
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 0
    functionsReached:
    - ipmi::responseSuccess
    - size
    - static_cast<uint8_t>
    - ipmi::responseInvalidFieldRequest
    - ipmi::storage::getFru
    - ipmi::response
    linkageType: ''
    returnType: "ipmi::RspType<uint16_t, // inventorySize\n              uint8_t>"
    signature: "ipmi::RspType<uint16_t, // inventorySize\n              uint8_t> ipmiStorageGetFruInvAreaInfo(ipmi::Context::ptr
      ctx, uint8_t fruDeviceId)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' count'
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 546
    functionName: ipmi::storage::getFruSdrCount
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: ipmi::Cc
    signature: ipmi::Cc getFruSdrCount(ipmi::Context::ptr, size_t& count)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:551,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:555,1
    - Dst: std::find_if
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:560,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:561,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:561,1
    - Dst: second::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:564,1
    - Dst: second::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:565,1
    - Dst: auto::second::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:570,1
    - Dst: auto::second::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:571,1
    - Dst: auto::second::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:572,1
    - Dst: auto::second::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:573,1
    - Dst: std::get<uint32_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:577,1
    - Dst: std::get<uint32_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:581,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:587,1
    - Dst: ipmi::callDbusMethod<Paths>
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:598,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:608,1
    - Dst: boost::system::error_code::message
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:610,1
    - Dst: ipmi::getAllDbusProperties
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:618,1
    - Dst: std::get<uint64_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:633,1
    - Dst: std::get<uint64_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:637,1
    - Dst: std::get<std::string>
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:641,1
    - Dst: std::optional::has_value
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:653,1
    - Dst: ipmi::getAllDbusProperties
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:659,1
    - Dst: std::get<uint64_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:668,1
    - Dst: std::get<uint64_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:672,1
    - Dst: std::fprintf
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:683,1
    - Dst: boost::container::flat_map<std::string, Value>*::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:696,1
    - Dst: boost::container::flat_map<std::string, Value>*::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:697,1
    - Dst: std::get<std::string>
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:699,1
    - Dst: std::string::empty
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:704,1
    - Dst: std::string::size
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:708,1
    - Dst: std::string::substr
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:710,1
    - Dst: std::string::size
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:712,1
    - Dst: std::string::size
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:730,1
    - Dst: std::string::copy
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:731,1
    - Dst: std::string::size
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:731,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 91
    argCount: 3
    argNames:
    - ctx
    - index
    - ' resp'
    argTypes:
    - ipmi::Context::ptr
    - size_t
    - get_sdr::SensorDataFruRecord
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 548
    functionDepth: 1
    functionLinenumber: 548
    functionLinenumberEnd: 734
    functionName: ipmi::storage::getFruSdrs
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 0
    functionsReached:
    - std::get<uint64_t>
    - begin
    - std::string::empty
    - std::get<uint32_t>
    - std::string::copy
    - ipmi::getAllDbusProperties
    - end
    - second::find
    - ipmi::callDbusMethod<Paths>
    - boost::container::flat_map<std::string, Value>*::end
    - boost::system::error_code::message
    - size
    - auto::second::find
    - auto::second::end
    - std::find_if
    - lg2::error
    - std::get<std::string>
    - std::optional::has_value
    - std::string::substr
    - second::end
    - boost::container::flat_map<std::string, Value>*::find
    - std::string::size
    - std::fprintf
    linkageType: ''
    returnType: ipmi::Cc
    signature: "ipmi::Cc getFruSdrs([[maybe_unused]] ipmi::Context::ptr ctx, size_t
      index,\n                    get_sdr::SensorDataFruRecord& resp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::filesystem::directory_iterator
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:740,1
    - Dst: path
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:743,1
    - Dst: std::string::starts_with
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:744,1
    - Dst: emplace_back
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:747,1
    - Dst: std::sort
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:754,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:754,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:754,1
    - Dst: empty
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:756,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' selLogFiles'
    argTypes:
    - std::vector<std::filesystem::path>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 736
    functionDepth: 0
    functionLinenumber: 736
    functionLinenumberEnd: 757
    functionName: ipmi::storage::getSELLogFiles
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 4
    functionsReached:
    - path
    - std::filesystem::directory_iterator
    - std::sort
    - emplace_back
    - end
    - begin
    - empty
    - std::string::starts_with
    linkageType: ''
    returnType: bool
    signature: bool getSELLogFiles(std::vector<std::filesystem::path>& selLogFiles)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::storage::getSELLogFiles
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:763,1
    - Dst: std::ifstream::is_open
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:772,1
    - Dst: std::getline
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:778,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 759
    functionDepth: 1
    functionLinenumber: 759
    functionLinenumberEnd: 784
    functionName: ipmi::storage::countSELEntries
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 2
    functionsReached:
    - std::ifstream::is_open
    - ipmi::storage::getSELLogFiles
    - std::getline
    linkageType: ''
    returnType: int
    signature: int countSELEntries()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:792,1
    - Dst: std::ifstream::is_open
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:798,1
    - Dst: std::getline
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:803,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:806,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - recordID
    - ' selLogFiles'
    - ' entry'
    argTypes:
    - int
    - std::vector<std::filesystem::path>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 786
    functionDepth: 0
    functionLinenumber: 786
    functionLinenumberEnd: 813
    functionName: ipmi::storage::findSELEntry
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 4
    functionsReached:
    - std::to_string
    - std::getline
    - std::ifstream::is_open
    - find
    linkageType: ''
    returnType: bool
    signature: "bool findSELEntry(const int recordID,\n                         const
      std::vector<std::filesystem::path>& selLogFiles,\n                         std::string&
      entry)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::storage::findSELEntry
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:821,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - recordID
    - ' selLogFiles'
    argTypes:
    - uint16_t
    - std::vector<std::filesystem::path>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 815
    functionDepth: 1
    functionLinenumber: 815
    functionLinenumberEnd: 829
    functionName: ipmi::storage::getNextRecordID
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 2
    functionsReached:
    - ipmi::storage::findSELEntry
    linkageType: ''
    returnType: uint16_t
    signature: "uint16_t getNextRecordID(\n    const uint16_t recordID,\n    const
      std::vector<std::filesystem::path>& selLogFiles)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:833,1
    - Dst: push_back
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:837,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:837,1
    - Dst: std::stoul
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:838,1
    - Dst: substr
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:838,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:842,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:847,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - ' hexStr'
    - ' data'
    argTypes:
    - std::string
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 831
    functionDepth: 0
    functionLinenumber: 831
    functionLinenumberEnd: 852
    functionName: ipmi::storage::fromHexStr
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 2
    functionsReached:
    - size
    - substr
    - static_cast<uint8_t>
    - std::stoul
    - push_back
    - lg2::error
    linkageType: ''
    returnType: int
    signature: int fromHexStr(const std::string& hexStr, std::vector<uint8_t>& data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::storage::countSELEntries
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:863,1
    - Dst: dynamic_sensors::ipmi::sel::getFileTimestamp
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:864,1
    - Dst: dynamic_sensors::ipmi::sel::erase_time::get
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:867,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:873,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 875
      start: 854
    functionDepth: 2
    functionLinenumber: 854
    functionLinenumberEnd: 875
    functionName: ipmi::storage::ipmiStorageGetSELInfo
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 0
    functionsReached:
    - dynamic_sensors::ipmi::sel::getFileTimestamp
    - ipmi::storage::countSELEntries
    - ipmi::responseSuccess
    - dynamic_sensors::ipmi::sel::erase_time::get
    linkageType: ''
    returnType: "ipmi::RspType<uint8_t,  // SEL version\n              uint16_t, //
      SEL entry count\n              uint16_t, // free space\n              uint32_t,
      // last add timestamp\n              uint32_t, // last erase timestamp\n              uint8_t>"
    signature: "ipmi::RspType<uint8_t,  // SEL version\n              uint16_t, //
      SEL entry count\n              uint16_t, // free space\n              uint32_t,
      // last add timestamp\n              uint32_t, // last erase timestamp\n              uint8_t>
      ipmiStorageGetSELInfo()"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::responseRetBytesUnavailable
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:906,1
    - Dst: checkSELReservation
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:913,1
    - Dst: ipmi::responseInvalidReservationId
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:915,1
    - Dst: ipmi::storage::getSELLogFiles
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:921,1
    - Dst: ipmi::responseSensorInvalid
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:923,1
    - Dst: std::vector::back
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:931,1
    - Dst: std::ifstream::is_open
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:932,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:934,1
    - Dst: std::getline
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:937,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:939,1
    - Dst: std::vector::front
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:945,1
    - Dst: std::ifstream::is_open
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:946,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:948,1
    - Dst: std::getline
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:952,1
    - Dst: ipmi::storage::findSELEntry
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:959,1
    - Dst: ipmi::responseSensorInvalid
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:961,1
    - Dst: std::string::find_first_of
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:968,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:971,1
    - Dst: std::string::substr
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:973,1
    - Dst: std::string::find_first_not_of
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:975,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:978,1
    - Dst: std::string_view::remove_prefix
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:981,1
    - Dst: ipmi::split
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:984,1
    - Dst: boost::is_any_of
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:984,1
    - Dst: std::vector::size
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:986,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:988,1
    - Dst: std::stoul
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:998,1
    - Dst: std::stoul
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:999,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1003,1
    - Dst: ipmi::storage::getNextRecordID
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1005,1
    - Dst: ipmi::storage::fromHexStr
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1007,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1009,1
    - Dst: std::get_time
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1019,1
    - Dst: std::mktime
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1022,1
    - Dst: std::vector::size
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1035,1
    - Dst: std::stoul
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1044,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1048,1
    - Dst: getSensorTypeFromPath
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1052,1
    - Dst: getSensorNumberFromPath
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1053,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1054,1
    - Dst: getSensorEventTypeFromPath
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1065,1
    - Dst: std::stoul
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1070,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1074,1
    - Dst: std::copy_n
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1081,1
    - Dst: std::vector::begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1081,1
    - Dst: std::min
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1082,1
    - Dst: std::vector::size
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1082,1
    - Dst: std::array::size
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1082,1
    - Dst: std::array::begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1083,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1085,1
    - Dst: std::get_time
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1099,1
    - Dst: std::mktime
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1102,1
    - Dst: std::copy_n
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1108,1
    - Dst: std::vector::begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1108,1
    - Dst: std::min
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1109,1
    - Dst: std::vector::size
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1109,1
    - Dst: std::array::size
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1109,1
    - Dst: std::array::begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1110,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1112,1
    - Dst: std::copy_n
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1121,1
    - Dst: std::vector::begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1121,1
    - Dst: std::min
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1122,1
    - Dst: std::vector::size
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1122,1
    - Dst: std::array::size
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1122,1
    - Dst: std::array::begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1123,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1125,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1129,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 94
    argCount: 4
    argNames:
    - reservationID
    - targetID
    - offset
    - size
    argTypes:
    - uint16_t
    - uint16_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1130
      start: 894
    functionDepth: 4
    functionLinenumber: 894
    functionLinenumberEnd: 1130
    functionName: ipmi::storage::ipmiStorageGetSELEntry
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 0
    functionsReached:
    - ipmi::responseSuccess
    - ipmi::responseUnspecifiedError
    - std::vector::back
    - std::array::begin
    - static_cast<uint8_t>
    - ipmi::responseInvalidReservationId
    - std::vector::front
    - std::copy_n
    - ipmi::storage::fromHexStr
    - std::vector::begin
    - std::min
    - std::array::size
    - ipmi::split
    - std::getline
    - getSensorEventTypeFromPath
    - ipmi::storage::getSELLogFiles
    - ipmi::storage::findSELEntry
    - ipmi::storage::getNextRecordID
    - std::ifstream::is_open
    - std::string::find_first_not_of
    - getSensorTypeFromPath
    - std::string_view::remove_prefix
    - lg2::error
    - checkSELReservation
    - getSensorNumberFromPath
    - std::vector::size
    - std::string::substr
    - std::string::find_first_of
    - boost::is_any_of
    - ipmi::responseSensorInvalid
    - std::stoul
    - std::mktime
    - std::get_time
    - ipmi::responseRetBytesUnavailable
    linkageType: ''
    returnType: "ipmi::RspType<uint16_t,                   // Next Record ID\n              uint16_t,
      \                  // Record ID\n              uint8_t,                    //
      Record Type\n              std::variant<systemEventType, oemTsEventType,\n                           oemEventType>>"
    signature: "ipmi::RspType<uint16_t,                   // Next Record ID\n              uint16_t,
      \                  // Record ID\n              uint8_t,                    //
      Record Type\n              std::variant<systemEventType, oemTsEventType,\n                           oemEventType>>
      ipmiStorageGetSELEntry(uint16_t reservationID, uint16_t targetID,\n                           uint8_t
      offset, uint8_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cancelSELReservation
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1145,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1149
      start: 1139
    functionDepth: 1
    functionLinenumber: 1139
    functionLinenumberEnd: 1149
    functionName: ipmi::storage::ipmiStorageAddSELEntry
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 0
    functionsReached:
    - ipmi::responseSuccess
    - cancelSELReservation
    linkageType: ''
    returnType: ipmi::RspType<uint16_t>
    signature: "ipmi::RspType<uint16_t> ipmiStorageAddSELEntry(\n    uint16_t, uint8_t,
      uint32_t, uint16_t, uint8_t, uint8_t, uint8_t, uint8_t,\n    uint8_t, uint8_t,
      uint8_t)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: checkSELReservation
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1155,1
    - Dst: ipmi::responseInvalidReservationId
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1157,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1163,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1170,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1176,1
    - Dst: cancelSELReservation
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1181,1
    - Dst: ipmi::callDbusMethod
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1184,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1189,1
    - Dst: boost::system::error_code::message
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1189,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1190,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1193,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - ctx
    - reservationID
    - ' clr'
    - eraseOperation
    argTypes:
    - ipmi::Context::ptr
    - uint16_t
    - std::array<uint8_t, 3>
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1194
      start: 1151
    functionDepth: 1
    functionLinenumber: 1151
    functionLinenumberEnd: 1194
    functionName: ipmi::storage::ipmiStorageClearSEL
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 0
    functionsReached:
    - ipmi::responseSuccess
    - ipmi::responseUnspecifiedError
    - cancelSELReservation
    - checkSELReservation
    - boost::system::error_code::message
    - ipmi::callDbusMethod
    - ipmi::responseInvalidFieldRequest
    - ipmi::responseInvalidReservationId
    - lg2::error
    linkageType: ''
    returnType: ipmi::RspType<uint8_t>
    signature: "ipmi::RspType<uint8_t> ipmiStorageClearSEL(\n    ipmi::Context::ptr
      ctx, uint16_t reservationID,\n    const std::array<uint8_t, 3>& clr, uint8_t
      eraseOperation)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_sdr::key::setFlags
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1212,1
    - Dst: std::vector::insert
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1225,1
    - Dst: std::vector::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 2
    argNames:
    - ' entity'
    - recordId
    argTypes:
    - ipmi::sensor::EntityInfoMap::const_iterator
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1228
      start: 1196
    functionDepth: 1
    functionLinenumber: 1196
    functionLinenumberEnd: 1228
    functionName: ipmi::storage::getType8SDRs
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 0
    functionsReached:
    - std::vector::end
    - std::vector::insert
    - get_sdr::key::setFlags
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> getType8SDRs(\n    ipmi::sensor::EntityInfoMap::const_iterator&
      entity, uint16_t recordId)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1237,1
    - Dst: std::vector::insert
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1238,1
    - Dst: std::vector::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1238,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1244,1
    - Dst: std::vector::insert
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1245,1
    - Dst: std::vector::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1245,1
    - Dst: std::runtime_error
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1249,1
    - Dst: std::to_string
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1250,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - index
    - recordId
    argTypes:
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1254
      start: 1230
    functionDepth: 0
    functionLinenumber: 1230
    functionLinenumberEnd: 1254
    functionName: ipmi::storage::getType12SDRs
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - reinterpret_cast<uint8_t*>
    - std::runtime_error
    - std::vector::end
    - std::vector::insert
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> getType12SDRs(uint16_t index, uint16_t recordId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::storage::createTimers
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1258,1
    - Dst: ipmi::storage::startMatch
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1259,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1262,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1266,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1271,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1276,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1281,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1286,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1294
      start: 1256
    functionDepth: 5
    functionLinenumber: 1256
    functionLinenumberEnd: 1294
    functionName: ipmi::storage::registerStorageFunctions
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 0
    functionsReached:
    - ipmi::registerHandler
    - ipmi::storage::startMatch
    - ipmi::storage::createTimers
    linkageType: ''
    returnType: void
    signature: void registerStorageFunctions()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getSdBus
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:121,1
    - Dst: std::shared_ptr::new_method_call
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:122,1
    - Dst: sdbusplus::message_t::append
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:125,1
    - Dst: std::shared_ptr::call
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:128,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:133,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - ' fru'
    argTypes:
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 139
    functionName: ipmi::storage::writeFru
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 6
    functionsReached:
    - lg2::error
    - std::shared_ptr::new_method_call
    - std::shared_ptr::call
    - getSdBus
    - sdbusplus::message_t::append
    linkageType: ''
    returnType: bool
    signature: bool writeFru(const std::vector<uint8_t>& fru)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::storage::writeFru
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 144
    functionName: ipmi::storage::writeFruCache
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 3
    functionsReached:
    - ipmi::storage::writeFru
    linkageType: ''
    returnType: void
    signature: void writeFruCache()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<sdbusplus::Timer>
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 149
    functionName: ipmi::storage::createTimers
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 3
    functionsReached:
    - std::make_unique<sdbusplus::Timer>
    linkageType: ''
    returnType: void
    signature: void createTimers()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:153,1
    - Dst: second::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:159,1
    - Dst: second::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:160,1
    - Dst: auto::second::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:165,1
    - Dst: auto::second::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:166,1
    - Dst: auto::second::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:167,1
    - Dst: auto::second::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:168,1
    - Dst: lg2::info
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:170,1
    - Dst: std::get<uint32_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:175,1
    - Dst: std::get<uint32_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:176,1
    - Dst: auto::second::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:177,1
    - Dst: auto::second::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:179,1
    - Dst: std::get<std::string>
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:181,1
    - Dst: std::string::compare
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:185,1
    - Dst: std::string::compare
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:186,1
    - Dst: hasher
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:188,1
    - Dst: emplace
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:200,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 214
    functionName: ipmi::storage::recalculateHashes
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 6
    functionsReached:
    - std::get<uint32_t>
    - hasher
    - emplace
    - auto::second::find
    - second::end
    - std::string::compare
    - auto::second::end
    - lg2::info
    - clear
    - second::find
    - std::get<std::string>
    linkageType: ''
    returnType: void
    signature: void recalculateHashes()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: yield_method_call
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:223,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:228,1
    - Dst: boost::system::error_code::message
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:229,1
    - Dst: ipmi::storage::recalculateHashes
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' bus'
    - ' yield'
    argTypes:
    - std::shared_ptr<sdbusplus::asio::connection>
    - boost::asio::yield_context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 234
    functionName: ipmi::storage::replaceCacheFru
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 3
    functionsReached:
    - boost::system::error_code::message
    - yield_method_call
    - lg2::error
    - ipmi::storage::recalculateHashes
    linkageType: ''
    returnType: void
    signature: "void replaceCacheFru(\n    const std::shared_ptr<sdbusplus::asio::connection>&
      bus,\n    boost::asio::yield_context& yield,\n    [[maybe_unused]] const std::optional<std::string>&
      path = std::nullopt)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:244,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:245,1
    - Dst: ipmi::callDbusMethod<std::vector<uint8_t>>
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:254,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:261,1
    - Dst: boost::system::error_code::message
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:261,1
    - Dst: clear
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:268,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - ctx
    - devId
    argTypes:
    - ipmi::Context::ptr
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 273
    functionName: ipmi::storage::getFru
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 9
    functionsReached:
    - find
    - boost::system::error_code::message
    - clear
    - end
    - ipmi::callDbusMethod<std::vector<uint8_t>>
    - lg2::error
    linkageType: ''
    returnType: std::pair<ipmi::Cc, std::vector<uint8_t>>
    signature: "std::pair<ipmi::Cc, std::vector<uint8_t>> getFru(ipmi::Context::ptr
      ctx,\n                                                 uint8_t devId)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isRunning
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:277,1
    - Dst: stop
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:281,1
    - Dst: ipmi::storage::writeFruCache
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:282,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 275
    functionDepth: 3
    functionLinenumber: 275
    functionLinenumberEnd: 283
    functionName: ipmi::storage::writeFruIfRunning
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 3
    functionsReached:
    - stop
    - ipmi::storage::writeFruCache
    - isRunning
    linkageType: ''
    returnType: void
    signature: void writeFruIfRunning()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:287,1
    - Dst: reserve
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:292,1
    - Dst: getSdBus
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:294,1
    - Dst: emplace_back
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:295,1
    - Dst: read
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:304,1
    - Dst: ObjectType::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:310,1
    - Dst: ObjectType::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:311,1
    - Dst: ipmi::storage::writeFruIfRunning
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:315,1
    - Dst: ipmi::storage::recalculateHashes
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:317,1
    - Dst: emplace_back
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:321,1
    - Dst: read
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:330,1
    - Dst: std::set::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:336,1
    - Dst: std::set::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:337,1
    - Dst: ipmi::storage::writeFruIfRunning
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:341,1
    - Dst: erase
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:342,1
    - Dst: ipmi::storage::recalculateHashes
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:343,1
    - Dst: boost::asio::spawn
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:348,1
    - Dst: getIoContext
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:349,1
    - Dst: ipmi::storage::replaceCacheFru
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:351,1
    - Dst: getSdBus
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:351,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 285
    functionDepth: 4
    functionLinenumber: 285
    functionLinenumberEnd: 354
    functionName: ipmi::storage::startMatch
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 3
    functionsReached:
    - ObjectType::end
    - getIoContext
    - std::set::find
    - ipmi::storage::writeFruIfRunning
    - read
    - ObjectType::find
    - size
    - reserve
    - getSdBus
    - erase
    - ipmi::storage::replaceCacheFru
    - emplace_back
    - boost::asio::spawn
    - std::set::end
    - ipmi::storage::recalculateHashes
    linkageType: ''
    returnType: void
    signature: void startMatch(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:372,1
    - Dst: ipmi::storage::getFru
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:375,1
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:378,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:382,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:386,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:388,1
    - Dst: ipmi::responseReqDataLenExceeded
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:392,1
    - Dst: std::vector::insert
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:397,1
    - Dst: std::vector::begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:397,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:398,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:399,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:401,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:401,1
    - Dst: std::vector::size
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:401,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - ctx
    - fruDeviceId
    - fruInventoryOffset
    - countToRead
    argTypes:
    - ipmi::Context::ptr
    - uint8_t
    - uint16_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 403
    functionName: ipmi::storage::ipmiStorageReadFruData
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 0
    functionsReached:
    - std::vector::begin
    - ipmi::responseSuccess
    - ipmi::responseReqDataLenExceeded
    - std::vector::size
    - size
    - ipmi::responseInvalidFieldRequest
    - ipmi::storage::getFru
    - static_cast<uint8_t>
    - begin
    - ipmi::response
    - std::vector::insert
    linkageType: ''
    returnType: "ipmi::RspType<uint8_t,             // Count\n              std::vector<uint8_t>
      // Requested data\n              >"
    signature: "ipmi::RspType<uint8_t,             // Count\n              std::vector<uint8_t>
      // Requested data\n              > ipmiStorageReadFruData(ipmi::Context::ptr
      ctx, uint8_t fruDeviceId,\n                           uint16_t fruInventoryOffset,
      uint8_t countToRead)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:419,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:422,1
    - Dst: ipmi::storage::getFru
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:424,1
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:427,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:430,1
    - Dst: resize
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:432,1
    - Dst: std::copy
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:435,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:435,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:435,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:436,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:440,1
    - Dst: reinterpret_cast<FRUHeader*>
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:442,1
    - Dst: data
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:442,1
    - Dst: std::max
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:445,1
    - Dst: stop
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:494,1
    - Dst: ipmi::storage::writeFru
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:495,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:497,1
    - Dst: std::min
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:499,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:499,1
    - Dst: static_cast<size_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:499,1
    - Dst: start
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:506,1
    - Dst: std::chrono::duration_cast<std::chrono::microseconds>
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:506,1
    - Dst: std::chrono::seconds
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:507,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:511,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 46
    argCount: 4
    argNames:
    - ctx
    - fruDeviceId
    - fruInventoryOffset
    - ' dataToWrite'
    argTypes:
    - ipmi::Context::ptr
    - uint8_t
    - uint16_t
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 413
    functionDepth: 2
    functionLinenumber: 413
    functionLinenumberEnd: 512
    functionName: ipmi::storage::ipmiStorageWriteFruData
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<FRUHeader*>
    - stop
    - static_cast<size_t>
    - start
    - ipmi::responseSuccess
    - std::chrono::duration_cast<std::chrono::microseconds>
    - std::min
    - size
    - std::chrono::seconds
    - ipmi::responseInvalidFieldRequest
    - ipmi::storage::getFru
    - resize
    - std::copy
    - begin
    - data
    - ipmi::storage::writeFru
    - ipmi::response
    - std::max
    linkageType: ''
    returnType: ipmi::RspType<uint8_t>
    signature: "ipmi::RspType<uint8_t> ipmiStorageWriteFruData(\n    ipmi::Context::ptr
      ctx, uint8_t fruDeviceId, uint16_t fruInventoryOffset,\n    std::vector<uint8_t>&
      dataToWrite)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:527,1
    - Dst: ipmi::storage::getFru
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:530,1
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:533,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:537,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:539,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:539,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - fruDeviceId
    argTypes:
    - ipmi::Context::ptr
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 521
    functionDepth: 1
    functionLinenumber: 521
    functionLinenumberEnd: 540
    functionName: ipmi::storage::ipmiStorageGetFruInvAreaInfo
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 0
    functionsReached:
    - ipmi::responseSuccess
    - size
    - static_cast<uint8_t>
    - ipmi::responseInvalidFieldRequest
    - ipmi::storage::getFru
    - ipmi::response
    linkageType: ''
    returnType: "ipmi::RspType<uint16_t, // inventorySize\n              uint8_t>"
    signature: "ipmi::RspType<uint16_t, // inventorySize\n              uint8_t> ipmiStorageGetFruInvAreaInfo(ipmi::Context::ptr
      ctx, uint8_t fruDeviceId)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' count'
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 546
    functionName: ipmi::storage::getFruSdrCount
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: ipmi::Cc
    signature: ipmi::Cc getFruSdrCount(ipmi::Context::ptr, size_t& count)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:551,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:555,1
    - Dst: std::find_if
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:560,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:561,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:561,1
    - Dst: second::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:564,1
    - Dst: second::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:565,1
    - Dst: auto::second::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:570,1
    - Dst: auto::second::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:571,1
    - Dst: auto::second::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:572,1
    - Dst: auto::second::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:573,1
    - Dst: std::get<uint32_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:577,1
    - Dst: std::get<uint32_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:581,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:587,1
    - Dst: ipmi::callDbusMethod<Paths>
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:598,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:608,1
    - Dst: boost::system::error_code::message
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:610,1
    - Dst: ipmi::getAllDbusProperties
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:618,1
    - Dst: std::get<uint64_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:633,1
    - Dst: std::get<uint64_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:637,1
    - Dst: std::get<std::string>
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:641,1
    - Dst: std::optional::has_value
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:653,1
    - Dst: ipmi::getAllDbusProperties
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:659,1
    - Dst: std::get<uint64_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:668,1
    - Dst: std::get<uint64_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:672,1
    - Dst: std::fprintf
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:683,1
    - Dst: boost::container::flat_map<std::string, Value>*::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:696,1
    - Dst: boost::container::flat_map<std::string, Value>*::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:697,1
    - Dst: std::get<std::string>
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:699,1
    - Dst: std::string::empty
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:704,1
    - Dst: std::string::size
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:708,1
    - Dst: std::string::substr
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:710,1
    - Dst: std::string::size
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:712,1
    - Dst: std::string::size
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:730,1
    - Dst: std::string::copy
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:731,1
    - Dst: std::string::size
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:731,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 91
    argCount: 3
    argNames:
    - ctx
    - index
    - ' resp'
    argTypes:
    - ipmi::Context::ptr
    - size_t
    - get_sdr::SensorDataFruRecord
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 548
    functionDepth: 1
    functionLinenumber: 548
    functionLinenumberEnd: 734
    functionName: ipmi::storage::getFruSdrs
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 0
    functionsReached:
    - std::get<uint64_t>
    - begin
    - std::string::empty
    - std::get<uint32_t>
    - std::string::copy
    - ipmi::getAllDbusProperties
    - end
    - second::find
    - ipmi::callDbusMethod<Paths>
    - boost::container::flat_map<std::string, Value>*::end
    - boost::system::error_code::message
    - size
    - auto::second::find
    - auto::second::end
    - std::find_if
    - lg2::error
    - std::get<std::string>
    - std::optional::has_value
    - std::string::substr
    - second::end
    - boost::container::flat_map<std::string, Value>*::find
    - std::string::size
    - std::fprintf
    linkageType: ''
    returnType: ipmi::Cc
    signature: "ipmi::Cc getFruSdrs([[maybe_unused]] ipmi::Context::ptr ctx, size_t
      index,\n                    get_sdr::SensorDataFruRecord& resp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::filesystem::directory_iterator
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:740,1
    - Dst: path
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:743,1
    - Dst: std::string::starts_with
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:744,1
    - Dst: emplace_back
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:747,1
    - Dst: std::sort
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:754,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:754,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:754,1
    - Dst: empty
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:756,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' selLogFiles'
    argTypes:
    - std::vector<std::filesystem::path>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 736
    functionDepth: 0
    functionLinenumber: 736
    functionLinenumberEnd: 757
    functionName: ipmi::storage::getSELLogFiles
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 6
    functionsReached:
    - path
    - std::filesystem::directory_iterator
    - std::sort
    - emplace_back
    - end
    - begin
    - empty
    - std::string::starts_with
    linkageType: ''
    returnType: bool
    signature: bool getSELLogFiles(std::vector<std::filesystem::path>& selLogFiles)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::storage::getSELLogFiles
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:763,1
    - Dst: std::ifstream::is_open
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:772,1
    - Dst: std::getline
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:778,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 759
    functionDepth: 1
    functionLinenumber: 759
    functionLinenumberEnd: 784
    functionName: ipmi::storage::countSELEntries
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 3
    functionsReached:
    - std::ifstream::is_open
    - ipmi::storage::getSELLogFiles
    - std::getline
    linkageType: ''
    returnType: int
    signature: int countSELEntries()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:792,1
    - Dst: std::ifstream::is_open
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:798,1
    - Dst: std::getline
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:803,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:806,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - recordID
    - ' selLogFiles'
    - ' entry'
    argTypes:
    - int
    - std::vector<std::filesystem::path>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 786
    functionDepth: 0
    functionLinenumber: 786
    functionLinenumberEnd: 813
    functionName: ipmi::storage::findSELEntry
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 6
    functionsReached:
    - std::to_string
    - std::getline
    - std::ifstream::is_open
    - find
    linkageType: ''
    returnType: bool
    signature: "bool findSELEntry(const int recordID,\n                         const
      std::vector<std::filesystem::path>& selLogFiles,\n                         std::string&
      entry)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::storage::findSELEntry
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:821,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - recordID
    - ' selLogFiles'
    argTypes:
    - uint16_t
    - std::vector<std::filesystem::path>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 815
    functionDepth: 1
    functionLinenumber: 815
    functionLinenumberEnd: 829
    functionName: ipmi::storage::getNextRecordID
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 3
    functionsReached:
    - ipmi::storage::findSELEntry
    linkageType: ''
    returnType: uint16_t
    signature: "uint16_t getNextRecordID(\n    const uint16_t recordID,\n    const
      std::vector<std::filesystem::path>& selLogFiles)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:833,1
    - Dst: push_back
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:837,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:837,1
    - Dst: std::stoul
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:838,1
    - Dst: substr
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:838,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:842,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:847,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - ' hexStr'
    - ' data'
    argTypes:
    - std::string
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 831
    functionDepth: 0
    functionLinenumber: 831
    functionLinenumberEnd: 852
    functionName: ipmi::storage::fromHexStr
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 3
    functionsReached:
    - size
    - substr
    - static_cast<uint8_t>
    - std::stoul
    - push_back
    - lg2::error
    linkageType: ''
    returnType: int
    signature: int fromHexStr(const std::string& hexStr, std::vector<uint8_t>& data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::storage::countSELEntries
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:863,1
    - Dst: dynamic_sensors::ipmi::sel::getFileTimestamp
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:864,1
    - Dst: dynamic_sensors::ipmi::sel::erase_time::get
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:867,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:873,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 875
      start: 854
    functionDepth: 2
    functionLinenumber: 854
    functionLinenumberEnd: 875
    functionName: ipmi::storage::ipmiStorageGetSELInfo
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 0
    functionsReached:
    - dynamic_sensors::ipmi::sel::getFileTimestamp
    - ipmi::storage::countSELEntries
    - ipmi::responseSuccess
    - dynamic_sensors::ipmi::sel::erase_time::get
    linkageType: ''
    returnType: "ipmi::RspType<uint8_t,  // SEL version\n              uint16_t, //
      SEL entry count\n              uint16_t, // free space\n              uint32_t,
      // last add timestamp\n              uint32_t, // last erase timestamp\n              uint8_t>"
    signature: "ipmi::RspType<uint8_t,  // SEL version\n              uint16_t, //
      SEL entry count\n              uint16_t, // free space\n              uint32_t,
      // last add timestamp\n              uint32_t, // last erase timestamp\n              uint8_t>
      ipmiStorageGetSELInfo()"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::responseRetBytesUnavailable
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:906,1
    - Dst: checkSELReservation
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:913,1
    - Dst: ipmi::responseInvalidReservationId
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:915,1
    - Dst: ipmi::storage::getSELLogFiles
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:921,1
    - Dst: ipmi::responseSensorInvalid
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:923,1
    - Dst: std::vector::back
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:931,1
    - Dst: std::ifstream::is_open
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:932,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:934,1
    - Dst: std::getline
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:937,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:939,1
    - Dst: std::vector::front
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:945,1
    - Dst: std::ifstream::is_open
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:946,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:948,1
    - Dst: std::getline
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:952,1
    - Dst: ipmi::storage::findSELEntry
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:959,1
    - Dst: ipmi::responseSensorInvalid
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:961,1
    - Dst: std::string::find_first_of
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:968,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:971,1
    - Dst: std::string::substr
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:973,1
    - Dst: std::string::find_first_not_of
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:975,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:978,1
    - Dst: std::string_view::remove_prefix
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:981,1
    - Dst: ipmi::split
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:984,1
    - Dst: boost::is_any_of
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:984,1
    - Dst: std::vector::size
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:986,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:988,1
    - Dst: std::stoul
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:998,1
    - Dst: std::stoul
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:999,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1003,1
    - Dst: ipmi::storage::getNextRecordID
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1005,1
    - Dst: ipmi::storage::fromHexStr
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1007,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1009,1
    - Dst: std::get_time
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1019,1
    - Dst: std::mktime
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1022,1
    - Dst: std::vector::size
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1035,1
    - Dst: std::stoul
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1044,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1048,1
    - Dst: getSensorTypeFromPath
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1052,1
    - Dst: getSensorNumberFromPath
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1053,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1054,1
    - Dst: getSensorEventTypeFromPath
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1065,1
    - Dst: std::stoul
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1070,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1074,1
    - Dst: std::copy_n
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1081,1
    - Dst: std::vector::begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1081,1
    - Dst: std::min
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1082,1
    - Dst: std::vector::size
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1082,1
    - Dst: std::array::size
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1082,1
    - Dst: std::array::begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1083,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1085,1
    - Dst: std::get_time
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1099,1
    - Dst: std::mktime
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1102,1
    - Dst: std::copy_n
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1108,1
    - Dst: std::vector::begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1108,1
    - Dst: std::min
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1109,1
    - Dst: std::vector::size
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1109,1
    - Dst: std::array::size
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1109,1
    - Dst: std::array::begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1110,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1112,1
    - Dst: std::copy_n
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1121,1
    - Dst: std::vector::begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1121,1
    - Dst: std::min
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1122,1
    - Dst: std::vector::size
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1122,1
    - Dst: std::array::size
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1122,1
    - Dst: std::array::begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1123,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1125,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1129,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 94
    argCount: 4
    argNames:
    - reservationID
    - targetID
    - offset
    - size
    argTypes:
    - uint16_t
    - uint16_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1130
      start: 894
    functionDepth: 4
    functionLinenumber: 894
    functionLinenumberEnd: 1130
    functionName: ipmi::storage::ipmiStorageGetSELEntry
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 0
    functionsReached:
    - ipmi::responseSuccess
    - ipmi::responseUnspecifiedError
    - std::vector::back
    - std::array::begin
    - static_cast<uint8_t>
    - ipmi::responseInvalidReservationId
    - std::vector::front
    - std::copy_n
    - ipmi::storage::fromHexStr
    - std::vector::begin
    - std::min
    - std::array::size
    - ipmi::split
    - std::getline
    - getSensorEventTypeFromPath
    - ipmi::storage::getSELLogFiles
    - ipmi::storage::findSELEntry
    - ipmi::storage::getNextRecordID
    - std::ifstream::is_open
    - std::string::find_first_not_of
    - getSensorTypeFromPath
    - std::string_view::remove_prefix
    - lg2::error
    - checkSELReservation
    - getSensorNumberFromPath
    - std::vector::size
    - std::string::substr
    - std::string::find_first_of
    - boost::is_any_of
    - ipmi::responseSensorInvalid
    - std::stoul
    - std::mktime
    - std::get_time
    - ipmi::responseRetBytesUnavailable
    linkageType: ''
    returnType: "ipmi::RspType<uint16_t,                   // Next Record ID\n              uint16_t,
      \                  // Record ID\n              uint8_t,                    //
      Record Type\n              std::variant<systemEventType, oemTsEventType,\n                           oemEventType>>"
    signature: "ipmi::RspType<uint16_t,                   // Next Record ID\n              uint16_t,
      \                  // Record ID\n              uint8_t,                    //
      Record Type\n              std::variant<systemEventType, oemTsEventType,\n                           oemEventType>>
      ipmiStorageGetSELEntry(uint16_t reservationID, uint16_t targetID,\n                           uint8_t
      offset, uint8_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cancelSELReservation
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1145,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1149
      start: 1139
    functionDepth: 1
    functionLinenumber: 1139
    functionLinenumberEnd: 1149
    functionName: ipmi::storage::ipmiStorageAddSELEntry
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 0
    functionsReached:
    - ipmi::responseSuccess
    - cancelSELReservation
    linkageType: ''
    returnType: ipmi::RspType<uint16_t>
    signature: "ipmi::RspType<uint16_t> ipmiStorageAddSELEntry(\n    uint16_t, uint8_t,
      uint32_t, uint16_t, uint8_t, uint8_t, uint8_t, uint8_t,\n    uint8_t, uint8_t,
      uint8_t)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: checkSELReservation
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1155,1
    - Dst: ipmi::responseInvalidReservationId
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1157,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1163,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1170,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1176,1
    - Dst: cancelSELReservation
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1181,1
    - Dst: ipmi::callDbusMethod
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1184,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1189,1
    - Dst: boost::system::error_code::message
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1189,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1190,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1193,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - ctx
    - reservationID
    - ' clr'
    - eraseOperation
    argTypes:
    - ipmi::Context::ptr
    - uint16_t
    - std::array<uint8_t, 3>
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1194
      start: 1151
    functionDepth: 1
    functionLinenumber: 1151
    functionLinenumberEnd: 1194
    functionName: ipmi::storage::ipmiStorageClearSEL
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 0
    functionsReached:
    - ipmi::responseSuccess
    - ipmi::responseUnspecifiedError
    - cancelSELReservation
    - checkSELReservation
    - boost::system::error_code::message
    - ipmi::callDbusMethod
    - ipmi::responseInvalidFieldRequest
    - ipmi::responseInvalidReservationId
    - lg2::error
    linkageType: ''
    returnType: ipmi::RspType<uint8_t>
    signature: "ipmi::RspType<uint8_t> ipmiStorageClearSEL(\n    ipmi::Context::ptr
      ctx, uint16_t reservationID,\n    const std::array<uint8_t, 3>& clr, uint8_t
      eraseOperation)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_sdr::key::setFlags
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1212,1
    - Dst: std::vector::insert
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1225,1
    - Dst: std::vector::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 2
    argNames:
    - ' entity'
    - recordId
    argTypes:
    - ipmi::sensor::EntityInfoMap::const_iterator
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1228
      start: 1196
    functionDepth: 1
    functionLinenumber: 1196
    functionLinenumberEnd: 1228
    functionName: ipmi::storage::getType8SDRs
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 0
    functionsReached:
    - std::vector::end
    - std::vector::insert
    - get_sdr::key::setFlags
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> getType8SDRs(\n    ipmi::sensor::EntityInfoMap::const_iterator&
      entity, uint16_t recordId)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1237,1
    - Dst: std::vector::insert
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1238,1
    - Dst: std::vector::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1238,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1244,1
    - Dst: std::vector::insert
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1245,1
    - Dst: std::vector::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1245,1
    - Dst: std::runtime_error
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1249,1
    - Dst: std::to_string
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1250,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - index
    - recordId
    argTypes:
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1254
      start: 1230
    functionDepth: 0
    functionLinenumber: 1230
    functionLinenumberEnd: 1254
    functionName: ipmi::storage::getType12SDRs
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - reinterpret_cast<uint8_t*>
    - std::runtime_error
    - std::vector::end
    - std::vector::insert
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> getType12SDRs(uint16_t index, uint16_t recordId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::storage::createTimers
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1258,1
    - Dst: ipmi::storage::startMatch
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1259,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1262,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1266,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1271,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1276,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1281,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1286,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp:1291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1294
      start: 1256
    functionDepth: 5
    functionLinenumber: 1256
    functionLinenumberEnd: 1294
    functionName: ipmi::storage::registerStorageFunctions
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
    functionUses: 0
    functionsReached:
    - ipmi::registerHandler
    - ipmi::storage::startMatch
    - ipmi::storage::createTimers
    linkageType: ''
    returnType: void
    signature: void registerStorageFunctions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorutils.cpp:30,1
    - Dst: static_cast<double>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorutils.cpp:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - base
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 34
    functionName: ipmi::baseInRange
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorutils.cpp
    functionUses: 0
    functionsReached:
    - static_cast<double>
    linkageType: ''
    returnType: bool
    signature: bool baseInRange(double base)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::baseInRange
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorutils.cpp:59,1
    - Dst: ipmi::baseInRange
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorutils.cpp:74,1
    - Dst: ipmi::baseInRange
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorutils.cpp:89,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - ' base'
    - ' expShift'
    argTypes:
    - double
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 90
    functionName: ipmi::scaleFloatExp
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorutils.cpp
    functionUses: 0
    functionsReached:
    - ipmi::baseInRange
    linkageType: ''
    returnType: bool
    signature: bool scaleFloatExp(double& base, int8_t& expShift)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 3
    argNames:
    - ' ibase'
    - ' expShift'
    - ' dbase'
    argTypes:
    - int16_t
    - int8_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 137
    functionName: ipmi::normalizeIntExp
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorutils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void normalizeIntExp(int16_t& ibase, int8_t& expShift, double& dbase)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: std::isfinite
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorutils.cpp:155,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorutils.cpp:157,1
    - Dst: std::isfinite
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorutils.cpp:160,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorutils.cpp:162,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorutils.cpp:169,1
    - Dst: ipmi::scaleFloatExp
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorutils.cpp:212,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorutils.cpp:214,1
    - Dst: static_cast<int16_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorutils.cpp:221,1
    - Dst: std::round
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorutils.cpp:221,1
    - Dst: ipmi::normalizeIntExp
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorutils.cpp:223,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorutils.cpp:228,1
    - Dst: std::pow
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorutils.cpp:240,1
    - Dst: std::pow
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorutils.cpp:241,1
    - Dst: ipmi::scaleFloatExp
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorutils.cpp:244,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorutils.cpp:246,1
    - Dst: static_cast<int16_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorutils.cpp:253,1
    - Dst: std::round
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorutils.cpp:253,1
    - Dst: ipmi::normalizeIntExp
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorutils.cpp:255,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 39
    argCount: 7
    argNames:
    - max
    - min
    - ' mValue'
    - ' rExp'
    - ' bValue'
    - ' bExp'
    - ' bSigned'
    argTypes:
    - double
    - double
    - int16_t
    - int8_t
    - int16_t
    - int8_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 151
    functionDepth: 2
    functionLinenumber: 151
    functionLinenumberEnd: 259
    functionName: ipmi::getSensorAttributes
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorutils.cpp
    functionUses: 3
    functionsReached:
    - ipmi::scaleFloatExp
    - std::isfinite
    - std::pow
    - std::round
    - ipmi::normalizeIntExp
    - static_cast<int16_t>
    - lg2::error
    linkageType: ''
    returnType: bool
    signature: "bool getSensorAttributes(const double max, const double min, int16_t&
      mValue,\n                         int8_t& rExp, int16_t& bValue, int8_t& bExp,\n
      \                        bool& bSigned)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::out_of_range
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorutils.cpp:268,1
    - Dst: static_cast<double>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorutils.cpp:271,1
    - Dst: static_cast<double>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorutils.cpp:272,1
    - Dst: std::pow
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorutils.cpp:280,1
    - Dst: std::pow
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorutils.cpp:280,1
    - Dst: static_cast<int32_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorutils.cpp:283,1
    - Dst: std::round
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorutils.cpp:283,1
    - Dst: std::numeric_limits<int8_t>::lowest
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorutils.cpp:293,1
    - Dst: std::numeric_limits<int8_t>::max
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorutils.cpp:294,1
    - Dst: std::numeric_limits<uint8_t>::lowest
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorutils.cpp:298,1
    - Dst: std::numeric_limits<uint8_t>::max
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorutils.cpp:299,1
    - Dst: std::clamp
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorutils.cpp:302,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorutils.cpp:306,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 6
    argNames:
    - value
    - mValue
    - rExp
    - bValue
    - bExp
    - bSigned
    argTypes:
    - double
    - int16_t
    - int8_t
    - int16_t
    - int8_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 307
    functionName: ipmi::scaleIPMIValueFromDouble
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorutils.cpp
    functionUses: 3
    functionsReached:
    - std::out_of_range
    - std::numeric_limits<int8_t>::max
    - static_cast<int32_t>
    - std::numeric_limits<uint8_t>::max
    - std::pow
    - static_cast<double>
    - std::round
    - static_cast<uint8_t>
    - std::clamp
    - std::numeric_limits<uint8_t>::lowest
    - std::numeric_limits<int8_t>::lowest
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t scaleIPMIValueFromDouble(const double value, const int16_t
      mValue,\n                                 const int8_t rExp, const int16_t bValue,\n
      \                                const int8_t bExp, const bool bSigned)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getSensorAttributes
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorutils.cpp:319,1
    - Dst: std::runtime_error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorutils.cpp:322,1
    - Dst: ipmi::scaleIPMIValueFromDouble
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorutils.cpp:325,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - value
    - max
    - min
    argTypes:
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 309
    functionDepth: 3
    functionLinenumber: 309
    functionLinenumberEnd: 326
    functionName: ipmi::getScaledIPMIValue
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorutils.cpp
    functionUses: 1
    functionsReached:
    - std::runtime_error
    - ipmi::getSensorAttributes
    - ipmi::scaleIPMIValueFromDouble
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t getScaledIPMIValue(const double value, const double max,\n
      \                          const double min)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorutils.cpp:30,1
    - Dst: static_cast<double>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorutils.cpp:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - base
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 34
    functionName: ipmi::baseInRange
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorutils.cpp
    functionUses: 1
    functionsReached:
    - static_cast<double>
    linkageType: ''
    returnType: bool
    signature: bool baseInRange(double base)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::baseInRange
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorutils.cpp:59,1
    - Dst: ipmi::baseInRange
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorutils.cpp:74,1
    - Dst: ipmi::baseInRange
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorutils.cpp:89,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - ' base'
    - ' expShift'
    argTypes:
    - double
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 90
    functionName: ipmi::scaleFloatExp
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorutils.cpp
    functionUses: 1
    functionsReached:
    - ipmi::baseInRange
    linkageType: ''
    returnType: bool
    signature: bool scaleFloatExp(double& base, int8_t& expShift)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 3
    argNames:
    - ' ibase'
    - ' expShift'
    - ' dbase'
    argTypes:
    - int16_t
    - int8_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 137
    functionName: ipmi::normalizeIntExp
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorutils.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void normalizeIntExp(int16_t& ibase, int8_t& expShift, double& dbase)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: std::isfinite
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorutils.cpp:155,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorutils.cpp:157,1
    - Dst: std::isfinite
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorutils.cpp:160,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorutils.cpp:162,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorutils.cpp:169,1
    - Dst: ipmi::scaleFloatExp
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorutils.cpp:212,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorutils.cpp:214,1
    - Dst: static_cast<int16_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorutils.cpp:221,1
    - Dst: std::round
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorutils.cpp:221,1
    - Dst: ipmi::normalizeIntExp
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorutils.cpp:223,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorutils.cpp:228,1
    - Dst: std::pow
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorutils.cpp:240,1
    - Dst: std::pow
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorutils.cpp:241,1
    - Dst: ipmi::scaleFloatExp
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorutils.cpp:244,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorutils.cpp:246,1
    - Dst: static_cast<int16_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorutils.cpp:253,1
    - Dst: std::round
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorutils.cpp:253,1
    - Dst: ipmi::normalizeIntExp
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorutils.cpp:255,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 39
    argCount: 7
    argNames:
    - max
    - min
    - ' mValue'
    - ' rExp'
    - ' bValue'
    - ' bExp'
    - ' bSigned'
    argTypes:
    - double
    - double
    - int16_t
    - int8_t
    - int16_t
    - int8_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 151
    functionDepth: 2
    functionLinenumber: 151
    functionLinenumberEnd: 259
    functionName: ipmi::getSensorAttributes
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorutils.cpp
    functionUses: 4
    functionsReached:
    - ipmi::scaleFloatExp
    - std::isfinite
    - std::pow
    - std::round
    - ipmi::normalizeIntExp
    - static_cast<int16_t>
    - lg2::error
    linkageType: ''
    returnType: bool
    signature: "bool getSensorAttributes(const double max, const double min, int16_t&
      mValue,\n                         int8_t& rExp, int16_t& bValue, int8_t& bExp,\n
      \                        bool& bSigned)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::out_of_range
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorutils.cpp:268,1
    - Dst: static_cast<double>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorutils.cpp:271,1
    - Dst: static_cast<double>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorutils.cpp:272,1
    - Dst: std::pow
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorutils.cpp:280,1
    - Dst: std::pow
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorutils.cpp:280,1
    - Dst: static_cast<int32_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorutils.cpp:283,1
    - Dst: std::round
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorutils.cpp:283,1
    - Dst: std::numeric_limits<int8_t>::lowest
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorutils.cpp:293,1
    - Dst: std::numeric_limits<int8_t>::max
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorutils.cpp:294,1
    - Dst: std::numeric_limits<uint8_t>::lowest
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorutils.cpp:298,1
    - Dst: std::numeric_limits<uint8_t>::max
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorutils.cpp:299,1
    - Dst: std::clamp
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorutils.cpp:302,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorutils.cpp:306,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 6
    argNames:
    - value
    - mValue
    - rExp
    - bValue
    - bExp
    - bSigned
    argTypes:
    - double
    - int16_t
    - int8_t
    - int16_t
    - int8_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 307
    functionName: ipmi::scaleIPMIValueFromDouble
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorutils.cpp
    functionUses: 4
    functionsReached:
    - std::out_of_range
    - std::numeric_limits<int8_t>::max
    - static_cast<int32_t>
    - std::numeric_limits<uint8_t>::max
    - std::pow
    - static_cast<double>
    - std::round
    - static_cast<uint8_t>
    - std::clamp
    - std::numeric_limits<uint8_t>::lowest
    - std::numeric_limits<int8_t>::lowest
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t scaleIPMIValueFromDouble(const double value, const int16_t
      mValue,\n                                 const int8_t rExp, const int16_t bValue,\n
      \                                const int8_t bExp, const bool bSigned)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getSensorAttributes
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorutils.cpp:319,1
    - Dst: std::runtime_error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorutils.cpp:322,1
    - Dst: ipmi::scaleIPMIValueFromDouble
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorutils.cpp:325,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - value
    - max
    - min
    argTypes:
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 309
    functionDepth: 3
    functionLinenumber: 309
    functionLinenumberEnd: 326
    functionName: ipmi::getScaledIPMIValue
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorutils.cpp
    functionUses: 1
    functionsReached:
    - std::runtime_error
    - ipmi::getSensorAttributes
    - ipmi::scaleIPMIValueFromDouble
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t getScaledIPMIValue(const double value, const double max,\n
      \                          const double min)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::strcmp
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 129
    functionName: operator()(const char* a, const char* b) const
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp
    functionUses: 0
    functionsReached:
    - std::strcmp
    linkageType: ''
    returnType: bool
    signature: bool operator()(const char* a, const char* b) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getSensorTree
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:169,1
    - Dst: getSensorSubtree
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:170,1
    - Dst: empty
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:170,1
    - Dst: getPathFromSensorNumber
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:180,1
    - Dst: empty
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:181,1
    - Dst: second::begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:190,1
    - Dst: second::begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:192,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 5
    argNames:
    - ctx
    - sensnum
    - ' connection'
    - ' path'
    - interfaces
    argTypes:
    - ipmi::Context::ptr
    - uint8_t
    - std::string
    - std::string
    - std::vector<std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 165
    functionDepth: 4
    functionLinenumber: 165
    functionLinenumberEnd: 198
    functionName: ipmi::getSensorConnection
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp
    functionUses: 0
    functionsReached:
    - getPathFromSensorNumber
    - second::begin
    - getSensorSubtree
    - empty
    - ipmi::getSensorTree
    linkageType: ''
    returnType: ipmi::Cc
    signature: "ipmi::Cc getSensorConnection(ipmi::Context::ptr ctx, uint8_t sensnum,\n
      \                            std::string& connection, std::string& path,\n                             std::vector<std::string>*
      interfaces)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 204
    functionName: ipmi::getSensorTree
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: SensorSubTree
    signature: SensorSubTree & getSensorTree()
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:267,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:268,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:269,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:271,1
    - Dst: auto::second::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:274,1
    - Dst: auto::second::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:276,1
    - Dst: auto::second::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:278,1
    - Dst: std::visit
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:280,1
    - Dst: VariantToDoubleVisitor
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:280,1
    - Dst: auto::second::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:282,1
    - Dst: std::visit
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:284,1
    - Dst: VariantToDoubleVisitor
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:284,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:287,1
    - Dst: auto::second::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:289,1
    - Dst: auto::second::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:291,1
    - Dst: auto::second::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:293,1
    - Dst: std::visit
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:295,1
    - Dst: VariantToDoubleVisitor
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:295,1
    - Dst: std::isfinite
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:296,1
    - Dst: std::fmin
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:298,1
    - Dst: auto::second::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:301,1
    - Dst: std::visit
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:303,1
    - Dst: VariantToDoubleVisitor
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:303,1
    - Dst: std::isfinite
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:304,1
    - Dst: std::fmax
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:306,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:310,1
    - Dst: auto::second::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:312,1
    - Dst: auto::second::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:314,1
    - Dst: auto::second::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:316,1
    - Dst: std::visit
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:318,1
    - Dst: VariantToDoubleVisitor
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:318,1
    - Dst: std::isfinite
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:319,1
    - Dst: std::fmin
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:321,1
    - Dst: auto::second::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:324,1
    - Dst: std::visit
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:326,1
    - Dst: VariantToDoubleVisitor
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:326,1
    - Dst: std::isfinite
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:327,1
    - Dst: std::fmax
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:329,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 3
    argNames:
    - ' sensorMap'
    - ' max'
    - ' min'
    argTypes:
    - DbusInterfaceMap
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 333
    functionName: ipmi::getSensorMaxMin
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp
    functionUses: 0
    functionsReached:
    - find
    - std::visit
    - std::fmin
    - std::fmax
    - auto::second::find
    - end
    - VariantToDoubleVisitor
    - auto::second::end
    - std::isfinite
    linkageType: ''
    returnType: void
    signature: "void getSensorMaxMin(const DbusInterfaceMap& sensorMap, double& max,\n
      \                           double& min)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: findStaticSensor
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:340,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:341,1
    - Dst: getSensorEventTypeFromPath
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:342,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:343,1
    - Dst: "boost::container::flat_map<\n        std::string, std::chrono::time_point<std::chrono::steady_clock>>::find"
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:356,1
    - Dst: std::chrono::time_point<std::chrono::steady_clock>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:357,1
    - Dst: "boost::container::flat_map<\n        std::string, std::chrono::time_point<std::chrono::steady_clock>>::end"
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:358,1
    - Dst: std::chrono::steady_clock::now
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:363,1
    - Dst: std::chrono::duration_cast<std::chrono::seconds>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:365,1
    - Dst: ipmi::getManagedObjects
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:382,1
    - Dst: std::string::c_str
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:383,1
    - Dst: ObjectValueTree::merge
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:388,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:394,1
    - Dst: std::chrono::steady_clock::now
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:404,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:406,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:407,1
    - Dst: auto::second::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:411,1
    - Dst: auto::second::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:412,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 4
    argNames:
    - ctx
    - sensorConnection
    - sensorPath
    - ' sensorMap'
    argTypes:
    - ipmi::Context::ptr
    - std::string
    - std::string
    - DbusInterfaceMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 335
    functionDepth: 2
    functionLinenumber: 335
    functionLinenumberEnd: 419
    functionName: ipmi::getSensorMap
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp
    functionUses: 0
    functionsReached:
    - find
    - ipmi::getManagedObjects
    - std::chrono::time_point<std::chrono::steady_clock>
    - std::string::c_str
    - "boost::container::flat_map<\n        std::string, std::chrono::time_point<std::chrono::steady_clock>>::find"
    - findStaticSensor
    - auto::second::find
    - getSensorEventTypeFromPath
    - static_cast<uint8_t>
    - end
    - std::chrono::steady_clock::now
    - std::chrono::duration_cast<std::chrono::seconds>
    - ObjectValueTree::merge
    - "boost::container::flat_map<\n        std::string, std::chrono::time_point<std::chrono::steady_clock>>::end"
    - lg2::error
    - auto::second::end
    linkageType: ''
    returnType: bool
    signature: "bool getSensorMap(ipmi::Context::ptr ctx, std::string sensorConnection,\n
      \                        std::string sensorPath, DbusInterfaceMap& sensorMap,\n
      \                        int updatePeriod = sensorMapUpdatePeriod)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:428,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:429,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:430,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:430,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:432,1
    - Dst: std::get_if<std::vector<std::string>>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:437,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:441,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' object'
    argTypes:
    - ipmi::DbusInterfaceMap::mapped_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 445
    functionName: ipmi::sensor::getSupportedVrProfiles
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp
    functionUses: 0
    functionsReached:
    - std::get_if<std::vector<std::string>>
    - lg2::error
    - end
    - find
    linkageType: ''
    returnType: std::optional<std::vector<std::string>>
    signature: "std::optional<std::vector<std::string>> getSupportedVrProfiles(\n
      \   const ipmi::DbusInterfaceMap::mapped_type& object)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::getSupportedVrProfiles
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:452,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:464,1
    - Dst: static_cast<uint16_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:465,1
    - Dst: auto::size
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:475,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:477,1
    - Dst: auto::at
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:481,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - assertOffset
    - ' VRObject'
    argTypes:
    - uint15_t
    - ipmi::DbusInterfaceMap::mapped_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 448
    functionDepth: 1
    functionLinenumber: 448
    functionLinenumberEnd: 482
    functionName: ipmi::sensor::calculateVRMode
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp
    functionUses: 0
    functionsReached:
    - auto::at
    - auto::size
    - ipmi::sensor::getSupportedVrProfiles
    - static_cast<uint16_t>
    - lg2::error
    linkageType: ''
    returnType: std::optional<std::string>
    signature: "std::optional<std::string> calculateVRMode(\n    uint15_t assertOffset,
      const ipmi::DbusInterfaceMap::mapped_type& VRObject)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:489,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:490,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:492,1
    - Dst: getSensorMaxMin
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:498,1
    - Dst: getSensorAttributes
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:506,1
    - Dst: std::pow
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:514,1
    - Dst: std::pow
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:515,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - reading
    - ' sensorMap'
    - ' valueObject'
    argTypes:
    - uint8_t
    - ipmi::DbusInterfaceMap
    - ipmi::DbusInterfaceMap::mapped_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 518
    functionName: ipmi::sensor::calculateValue
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp
    functionUses: 0
    functionsReached:
    - find
    - std::pow
    - getSensorMaxMin
    - end
    - getSensorAttributes
    - lg2::error
    linkageType: ''
    returnType: std::optional<double>
    signature: "std::optional<double> calculateValue(\n    uint8_t reading, const
      ipmi::DbusInterfaceMap& sensorMap,\n    const ipmi::DbusInterfaceMap::mapped_type&
      valueObject)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rfind
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:525,1
    - Dst: substr
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:528,1
    - Dst: std::string::size
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:531,1
    - Dst: std::string::ends_with
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:536,1
    - Dst: boost::replace_all
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:538,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:545,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:546,1
    - Dst: boost::replace_all
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:549,1
    - Dst: std::string::size
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:554,1
    - Dst: std::string::resize
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:556,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 560
    functionName: ipmi::sensor::parseSdrIdFromPath
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp
    functionUses: 0
    functionsReached:
    - std::make_pair
    - std::string::resize
    - boost::replace_all
    - substr
    - rfind
    - std::string::ends_with
    - std::string::size
    linkageType: ''
    returnType: std::string
    signature: std::string parseSdrIdFromPath(const std::string& path)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::getSupportedVrProfiles
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:567,1
    - Dst: getDbusProperty
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:574,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:578,1
    - Dst: auto::message
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:581,1
    - Dst: std::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:585,1
    - Dst: auto::begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:585,1
    - Dst: auto::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:585,1
    - Dst: auto::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:586,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:588,1
    - Dst: static_cast<std::size_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:593,1
    - Dst: std::distance
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:593,1
    - Dst: auto::begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:593,1
    - Dst: set
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:598,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:602,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:609,1
    - Dst: ipmi::sensor::parseSdrIdFromPath
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:610,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 5
    argNames:
    - ctx
    - ' connection'
    - ' path'
    - ' object'
    - ' assertions'
    argTypes:
    - ipmi::Context::ptr
    - std::string
    - std::string
    - ipmi::DbusInterfaceMap::mapped_type
    - std::bitset<16>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 614
    functionName: ipmi::sensor::getVrEventStatus
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp
    functionUses: 0
    functionsReached:
    - getDbusProperty
    - std::find
    - auto::end
    - auto::message
    - ipmi::sensor::parseSdrIdFromPath
    - auto::begin
    - std::distance
    - set
    - ipmi::sensor::getSupportedVrProfiles
    - lg2::error
    - static_cast<std::size_t>
    linkageType: ''
    returnType: bool
    signature: "bool getVrEventStatus(ipmi::Context::ptr ctx, const std::string& connection,\n
      \                     const std::string& path,\n                      const
      ipmi::DbusInterfaceMap::mapped_type& object,\n                      std::bitset<16>&
      assertions)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::storage::getFruSdrCount
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:642,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:645,1
    - Dst: std::numeric_limits<size_t>::max
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:646,1
    - Dst: ipmi::sensor::EntityInfoMapContainer::getContainer
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:650,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:652,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - ipmi::Context::ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 638
    functionDepth: 1
    functionLinenumber: 638
    functionLinenumberEnd: 655
    functionName: ipmi::sensor::getOtherSensorsCount
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp
    functionUses: 0
    functionsReached:
    - ipmi::storage::getFruSdrCount
    - size
    - ipmi::sensor::EntityInfoMapContainer::getContainer
    - std::numeric_limits<size_t>::max
    - lg2::error
    linkageType: ''
    returnType: size_t
    signature: size_t getOtherSensorsCount(ipmi::Context::ptr ctx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::getOtherSensorsCount
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:663,1
    - Dst: std::numeric_limits<size_t>::max
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:664,1
    - Dst: ipmi::sensor::EntityInfoMapContainer::getContainer
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:669,1
    - Dst: ipmi::getNumberOfSensors
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:672,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:673,1
    - Dst: std::numeric_limits<int>::min
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:678,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:684,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:684,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:687,1
    - Dst: ipmi::storage::getType8SDRs
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:691,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:699,1
    - Dst: ipmi::storage::getType12SDRs
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:702,1
    - Dst: ipmi::storage::getFruSdrs
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:708,1
    - Dst: insert
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:714,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:714,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:714,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:715,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 3
    argNames:
    - ctx
    - recordID
    - ' recordData'
    argTypes:
    - ipmi::Context::ptr
    - uint16_t
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 660
    functionDepth: 2
    functionLinenumber: 660
    functionLinenumberEnd: 719
    functionName: ipmi::sensor::getOtherSensorsDataRecord
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp
    functionUses: 0
    functionsReached:
    - ipmi::storage::getType12SDRs
    - insert
    - ipmi::storage::getType8SDRs
    - ipmi::getNumberOfSensors
    - size
    - reinterpret_cast<uint8_t*>
    - ipmi::sensor::EntityInfoMapContainer::getContainer
    - ipmi::sensor::getOtherSensorsCount
    - std::numeric_limits<size_t>::max
    - static_cast<uint8_t>
    - end
    - find
    - ipmi::storage::getFruSdrs
    - lg2::error
    - std::numeric_limits<int>::min
    linkageType: ''
    returnType: int
    signature: "int getOtherSensorsDataRecord(ipmi::Context::ptr ctx, uint16_t recordID,\n
      \                             std::vector<uint8_t>& recordData)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:428,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:429,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:430,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:430,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:432,1
    - Dst: std::get_if<std::vector<std::string>>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:437,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:441,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' object'
    argTypes:
    - ipmi::DbusInterfaceMap::mapped_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 445
    functionName: ipmi::sensor::getSupportedVrProfiles
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp
    functionUses: 2
    functionsReached:
    - std::get_if<std::vector<std::string>>
    - lg2::error
    - end
    - find
    linkageType: ''
    returnType: std::optional<std::vector<std::string>>
    signature: "std::optional<std::vector<std::string>> getSupportedVrProfiles(\n
      \   const ipmi::DbusInterfaceMap::mapped_type& object)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::getSupportedVrProfiles
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:452,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:464,1
    - Dst: static_cast<uint16_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:465,1
    - Dst: auto::size
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:475,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:477,1
    - Dst: auto::at
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:481,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - assertOffset
    - ' VRObject'
    argTypes:
    - uint15_t
    - ipmi::DbusInterfaceMap::mapped_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 448
    functionDepth: 1
    functionLinenumber: 448
    functionLinenumberEnd: 482
    functionName: ipmi::sensor::calculateVRMode
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp
    functionUses: 0
    functionsReached:
    - auto::at
    - auto::size
    - ipmi::sensor::getSupportedVrProfiles
    - static_cast<uint16_t>
    - lg2::error
    linkageType: ''
    returnType: std::optional<std::string>
    signature: "std::optional<std::string> calculateVRMode(\n    uint15_t assertOffset,
      const ipmi::DbusInterfaceMap::mapped_type& VRObject)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:489,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:490,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:492,1
    - Dst: getSensorMaxMin
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:498,1
    - Dst: getSensorAttributes
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:506,1
    - Dst: std::pow
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:514,1
    - Dst: std::pow
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:515,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - reading
    - ' sensorMap'
    - ' valueObject'
    argTypes:
    - uint8_t
    - ipmi::DbusInterfaceMap
    - ipmi::DbusInterfaceMap::mapped_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 518
    functionName: ipmi::sensor::calculateValue
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp
    functionUses: 0
    functionsReached:
    - find
    - std::pow
    - getSensorMaxMin
    - end
    - getSensorAttributes
    - lg2::error
    linkageType: ''
    returnType: std::optional<double>
    signature: "std::optional<double> calculateValue(\n    uint8_t reading, const
      ipmi::DbusInterfaceMap& sensorMap,\n    const ipmi::DbusInterfaceMap::mapped_type&
      valueObject)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rfind
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:525,1
    - Dst: substr
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:528,1
    - Dst: std::string::size
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:531,1
    - Dst: std::string::ends_with
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:536,1
    - Dst: boost::replace_all
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:538,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:545,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:546,1
    - Dst: boost::replace_all
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:549,1
    - Dst: std::string::size
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:554,1
    - Dst: std::string::resize
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:556,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 560
    functionName: ipmi::sensor::parseSdrIdFromPath
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp
    functionUses: 1
    functionsReached:
    - std::make_pair
    - std::string::resize
    - boost::replace_all
    - substr
    - rfind
    - std::string::ends_with
    - std::string::size
    linkageType: ''
    returnType: std::string
    signature: std::string parseSdrIdFromPath(const std::string& path)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::getSupportedVrProfiles
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:567,1
    - Dst: getDbusProperty
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:574,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:578,1
    - Dst: auto::message
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:581,1
    - Dst: std::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:585,1
    - Dst: auto::begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:585,1
    - Dst: auto::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:585,1
    - Dst: auto::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:586,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:588,1
    - Dst: static_cast<std::size_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:593,1
    - Dst: std::distance
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:593,1
    - Dst: auto::begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:593,1
    - Dst: set
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:598,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:602,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:609,1
    - Dst: ipmi::sensor::parseSdrIdFromPath
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:610,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 5
    argNames:
    - ctx
    - ' connection'
    - ' path'
    - ' object'
    - ' assertions'
    argTypes:
    - ipmi::Context::ptr
    - std::string
    - std::string
    - ipmi::DbusInterfaceMap::mapped_type
    - std::bitset<16>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 614
    functionName: ipmi::sensor::getVrEventStatus
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp
    functionUses: 0
    functionsReached:
    - getDbusProperty
    - std::find
    - auto::end
    - auto::message
    - ipmi::sensor::parseSdrIdFromPath
    - auto::begin
    - std::distance
    - set
    - ipmi::sensor::getSupportedVrProfiles
    - lg2::error
    - static_cast<std::size_t>
    linkageType: ''
    returnType: bool
    signature: "bool getVrEventStatus(ipmi::Context::ptr ctx, const std::string& connection,\n
      \                     const std::string& path,\n                      const
      ipmi::DbusInterfaceMap::mapped_type& object,\n                      std::bitset<16>&
      assertions)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::storage::getFruSdrCount
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:642,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:645,1
    - Dst: std::numeric_limits<size_t>::max
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:646,1
    - Dst: ipmi::sensor::EntityInfoMapContainer::getContainer
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:650,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:652,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - ipmi::Context::ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 638
    functionDepth: 1
    functionLinenumber: 638
    functionLinenumberEnd: 655
    functionName: ipmi::sensor::getOtherSensorsCount
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp
    functionUses: 1
    functionsReached:
    - ipmi::storage::getFruSdrCount
    - size
    - ipmi::sensor::EntityInfoMapContainer::getContainer
    - std::numeric_limits<size_t>::max
    - lg2::error
    linkageType: ''
    returnType: size_t
    signature: size_t getOtherSensorsCount(ipmi::Context::ptr ctx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::getOtherSensorsCount
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:663,1
    - Dst: std::numeric_limits<size_t>::max
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:664,1
    - Dst: ipmi::sensor::EntityInfoMapContainer::getContainer
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:669,1
    - Dst: ipmi::getNumberOfSensors
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:672,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:673,1
    - Dst: std::numeric_limits<int>::min
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:678,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:684,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:684,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:687,1
    - Dst: ipmi::storage::getType8SDRs
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:691,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:699,1
    - Dst: ipmi::storage::getType12SDRs
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:702,1
    - Dst: ipmi::storage::getFruSdrs
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:708,1
    - Dst: insert
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:714,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:714,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:714,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:715,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 3
    argNames:
    - ctx
    - recordID
    - ' recordData'
    argTypes:
    - ipmi::Context::ptr
    - uint16_t
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 660
    functionDepth: 2
    functionLinenumber: 660
    functionLinenumberEnd: 719
    functionName: ipmi::sensor::getOtherSensorsDataRecord
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp
    functionUses: 0
    functionsReached:
    - ipmi::storage::getType12SDRs
    - insert
    - ipmi::storage::getType8SDRs
    - ipmi::getNumberOfSensors
    - size
    - reinterpret_cast<uint8_t*>
    - ipmi::sensor::EntityInfoMapContainer::getContainer
    - ipmi::sensor::getOtherSensorsCount
    - std::numeric_limits<size_t>::max
    - static_cast<uint8_t>
    - end
    - find
    - ipmi::storage::getFruSdrs
    - lg2::error
    - std::numeric_limits<int>::min
    linkageType: ''
    returnType: int
    signature: "int getOtherSensorsDataRecord(ipmi::Context::ptr ctx, uint16_t recordID,\n
      \                             std::vector<uint8_t>& recordData)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getChannelInfo
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:741,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:743,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:745,1
    - Dst: static_cast<ipmi::EChannelMediumType>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:748,1
    - Dst: unpack
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:751,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:756,1
    - Dst: unpack
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:766,1
    - Dst: fullyUnpacked
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:775,1
    - Dst: ipmi::responseReqDataLenInvalid
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:777,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:783,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:787,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:790,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - ctx
    - ' p'
    argTypes:
    - ipmi::Context::ptr
    - ipmi::message::Payload
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 723
    functionDepth: 1
    functionLinenumber: 723
    functionLinenumberEnd: 791
    functionName: ipmi::ipmiSenPlatformEvent
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp
    functionUses: 0
    functionsReached:
    - ipmi::responseSuccess
    - ipmi::responseUnspecifiedError
    - unpack
    - ipmi::getChannelInfo
    - ipmi::responseReqDataLenInvalid
    - static_cast<ipmi::EChannelMediumType>
    - ipmi::responseInvalidFieldRequest
    - fullyUnpacked
    - lg2::error
    linkageType: ''
    returnType: ipmi::RspType<>
    signature: "ipmi::RspType<> ipmiSenPlatformEvent(ipmi::Context::ptr ctx,\n                                     ipmi::message::Payload&
      p)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getSensorConnection
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:802,1
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:805,1
    - Dst: std::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:809,1
    - Dst: std::vector::begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:809,1
    - Dst: std::vector::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:809,1
    - Dst: std::vector::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:810,1
    - Dst: ipmi::getSensorMap
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:813,1
    - Dst: ipmi::responseResponseError
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:815,1
    - Dst: DbusInterfaceMap::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:817,1
    - Dst: DbusInterfaceMap::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:818,1
    - Dst: ipmi::responseResponseError
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:820,1
    - Dst: getWritePermission
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:824,1
    - Dst: ipmi::responseResponseError
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:827,1
    - Dst: ipmi::sensor::calculateValue
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:831,1
    - Dst: ipmi::responseResponseError
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:834,1
    - Dst: lg2::info
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:839,1
    - Dst: ipmi::setDbusProperty
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:845,1
    - Dst: testValue
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:847,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:854,1
    - Dst: boost::system::error_code::message
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:857,1
    - Dst: ipmi::responseResponseError
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:858,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:860,1
    - Dst: std::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:863,1
    - Dst: std::vector::begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:863,1
    - Dst: std::vector::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:863,1
    - Dst: std::vector::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:864,1
    - Dst: ipmi::getSensorMap
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:867,1
    - Dst: ipmi::responseResponseError
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:869,1
    - Dst: DbusInterfaceMap::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:871,1
    - Dst: DbusInterfaceMap::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:872,1
    - Dst: ipmi::responseResponseError
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:874,1
    - Dst: ipmi::sensor::calculateVRMode
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:881,1
    - Dst: ipmi::responseResponseError
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:884,1
    - Dst: ipmi::setDbusProperty
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:886,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:893,1
    - Dst: boost::system::error_code::message
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:896,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:898,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:901,1
    - Dst: ipmi::responseResponseError
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:902,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 4
    argNames:
    - ctx
    - sensorNumber
    - reading
    - assertOffset
    argTypes:
    - ipmi::Context::ptr
    - uint8_t
    - uint8_t
    - uint15_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 903
      start: 793
    functionDepth: 5
    functionLinenumber: 793
    functionLinenumberEnd: 903
    functionName: ipmi::ipmiSetSensorReading
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp
    functionUses: 0
    functionsReached:
    - ipmi::responseResponseError
    - ipmi::sensor::calculateValue
    - ipmi::setDbusProperty
    - std::vector::begin
    - ipmi::responseSuccess
    - std::find
    - boost::system::error_code::message
    - lg2::error
    - ipmi::getSensorMap
    - ipmi::sensor::calculateVRMode
    - DbusInterfaceMap::end
    - DbusInterfaceMap::find
    - getWritePermission
    - lg2::info
    - ipmi::response
    - testValue
    - std::vector::end
    - ipmi::getSensorConnection
    linkageType: ''
    returnType: ipmi::RspType<>
    signature: "ipmi::RspType<> ipmiSetSensorReading(\n    ipmi::Context::ptr ctx,
      uint8_t sensorNumber, uint8_t, uint8_t reading,\n    uint15_t assertOffset,
      bool, uint15_t, bool, uint8_t, uint8_t, uint8_t)"
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:913,1
    - Dst: ipmi::getSensorConnection
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:916,1
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:919,1
    - Dst: findStaticSensor
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:923,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:924,1
    - Dst: getSensorEventTypeFromPath
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:925,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:926,1
    - Dst: ipmi::responseIllegalCommand
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:931,1
    - Dst: auto::second::getFunc
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:938,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:942,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:947,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:952,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:955,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:962,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:964,1
    - Dst: ipmi::getSensorMap
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:970,1
    - Dst: ipmi::responseResponseError
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:972,1
    - Dst: DbusInterfaceMap::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:974,1
    - Dst: DbusInterfaceMap::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:976,1
    - Dst: auto::second::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:977,1
    - Dst: auto::second::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:978,1
    - Dst: ipmi::responseResponseError
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:980,1
    - Dst: std::visit
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:984,1
    - Dst: VariantToDoubleVisitor
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:984,1
    - Dst: ipmi::getSensorMaxMin
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:988,1
    - Dst: ipmi::getSensorAttributes
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:996,1
    - Dst: ipmi::responseResponseError
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:998,1
    - Dst: ipmi::scaleIPMIValueFromDouble
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1002,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1004,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1006,1
    - Dst: std::isnan
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1007,1
    - Dst: DbusInterfaceMap::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1012,1
    - Dst: DbusInterfaceMap::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1013,1
    - Dst: auto::second::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1015,1
    - Dst: auto::second::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1016,1
    - Dst: std::get_if<bool>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1018,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1029,1
    - Dst: static_cast<int>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1038,1
    - Dst: static_cast<int8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1038,1
    - Dst: static_cast<int>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1042,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1042,1
    - Dst: updateReading
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1046,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1051,1
    - Dst: getName
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1056,1
    - Dst: DbusInterfaceMap::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1064,1
    - Dst: DbusInterfaceMap::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1065,1
    - Dst: auto::second::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1067,1
    - Dst: auto::second::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1069,1
    - Dst: auto::second::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1071,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1073,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1075,1
    - Dst: auto::second::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1079,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1081,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1083,1
    - Dst: DbusInterfaceMap::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1089,1
    - Dst: DbusInterfaceMap::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1090,1
    - Dst: auto::second::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1092,1
    - Dst: auto::second::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1094,1
    - Dst: auto::second::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1096,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1098,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1101,1
    - Dst: auto::second::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1104,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1106,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1109,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1115,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 86
    argCount: 2
    argNames:
    - ctx
    - sensnum
    argTypes:
    - ipmi::Context::ptr
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1116
      start: 905
    functionDepth: 5
    functionLinenumber: 905
    functionLinenumberEnd: 1116
    functionName: ipmi::ipmiSenGetSensorReading
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp
    functionUses: 0
    functionsReached:
    - ipmi::responseSuccess
    - std::isnan
    - getName
    - findStaticSensor
    - ipmi::getSensorMap
    - DbusInterfaceMap::end
    - static_cast<uint8_t>
    - VariantToDoubleVisitor
    - ipmi::response
    - static_cast<int8_t>
    - ipmi::responseResponseError
    - static_cast<int>
    - getSensorEventTypeFromPath
    - end
    - ipmi::getSensorAttributes
    - ipmi::getSensorConnection
    - ipmi::scaleIPMIValueFromDouble
    - std::get_if<bool>
    - auto::second::find
    - ipmi::responseInvalidFieldRequest
    - ipmi::responseIllegalCommand
    - DbusInterfaceMap::find
    - updateReading
    - auto::second::end
    - lg2::error
    - ipmi::getSensorMaxMin
    - std::get<bool>
    - std::visit
    - auto::second::getFunc
    linkageType: ''
    returnType: ipmi::RspType<uint8_t, uint8_t, uint8_t, std::optional<uint8_t>>
    signature: ipmi::RspType<uint8_t, uint8_t, uint8_t, std::optional<uint8_t>> ipmiSenGetSensorReading(ipmi::Context::ptr
      ctx, uint8_t sensnum)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1147,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1153,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1161,1
    - Dst: ipmi::getSensorConnection
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1167,1
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1170,1
    - Dst: ipmi::getSensorMap
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1173,1
    - Dst: ipmi::responseResponseError
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1175,1
    - Dst: ipmi::getSensorMaxMin
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1180,1
    - Dst: ipmi::getSensorAttributes
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1188,1
    - Dst: ipmi::responseResponseError
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1190,1
    - Dst: DbusInterfaceMap::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1203,1
    - Dst: DbusInterfaceMap::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1204,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1206,1
    - Dst: auto::second::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1210,1
    - Dst: auto::second::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1212,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1214,1
    - Dst: std::vector::emplace_back
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1216,1
    - Dst: auto::second::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1222,1
    - Dst: auto::second::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1224,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1226,1
    - Dst: std::vector::emplace_back
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1228,1
    - Dst: DbusInterfaceMap::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1235,1
    - Dst: DbusInterfaceMap::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1236,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1238,1
    - Dst: auto::second::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1242,1
    - Dst: auto::second::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1244,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1246,1
    - Dst: std::vector::emplace_back
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1248,1
    - Dst: auto::second::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1254,1
    - Dst: auto::second::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1256,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1258,1
    - Dst: std::vector::emplace_back
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1260,1
    - Dst: std::get<thresholdValue>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1268,1
    - Dst: std::pow
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1269,1
    - Dst: std::pow
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1270,1
    - Dst: ipmi::setDbusProperty
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1271,1
    - Dst: getSdBus
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1272,1
    - Dst: std::get<interface>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1272,1
    - Dst: std::get<propertyName>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1273,1
    - Dst: testValue
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1273,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1275,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 57
    argCount: 15
    argNames:
    - ctx
    - sensorNum
    - lowerNonCriticalThreshMask
    - lowerCriticalThreshMask
    - lowerNonRecovThreshMask
    - upperNonCriticalThreshMask
    - upperCriticalThreshMask
    - upperNonRecovThreshMask
    - reserved
    - lowerNonCritical
    - lowerCritical
    - lowerNonRecoverable
    - upperNonCritical
    - upperCritical
    - upperNonRecoverable
    argTypes:
    - ipmi::Context::ptr
    - uint8_t
    - bool
    - bool
    - bool
    - bool
    - bool
    - bool
    - uint2_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1276
      start: 1136
    functionDepth: 5
    functionLinenumber: 1136
    functionLinenumberEnd: 1276
    functionName: ipmi::ipmiSenSetSensorThresholds
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp
    functionUses: 0
    functionsReached:
    - ipmi::responseSuccess
    - ipmi::getSensorMap
    - getSdBus
    - DbusInterfaceMap::end
    - std::vector::emplace_back
    - ipmi::response
    - ipmi::responseResponseError
    - std::get<interface>
    - ipmi::getSensorAttributes
    - ipmi::getSensorConnection
    - ipmi::setDbusProperty
    - std::pow
    - auto::second::find
    - ipmi::responseInvalidFieldRequest
    - DbusInterfaceMap::find
    - auto::second::end
    - ipmi::getSensorMaxMin
    - std::get<thresholdValue>
    - std::get<propertyName>
    - testValue
    linkageType: ''
    returnType: ipmi::RspType<>
    signature: "ipmi::RspType<> ipmiSenSetSensorThresholds(\n    ipmi::Context::ptr
      ctx, uint8_t sensorNum, bool lowerNonCriticalThreshMask,\n    bool lowerCriticalThreshMask,
      bool lowerNonRecovThreshMask,\n    bool upperNonCriticalThreshMask, bool upperCriticalThreshMask,\n
      \   bool upperNonRecovThreshMask, uint2_t reserved, uint8_t lowerNonCritical,\n
      \   uint8_t lowerCritical, [[maybe_unused]] uint8_t lowerNonRecoverable,\n    uint8_t
      upperNonCritical, uint8_t upperCritical,\n    [[maybe_unused]] uint8_t upperNonRecoverable)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1281,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1282,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1284,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1285,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1287,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1289,1
    - Dst: std::runtime_error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1293,1
    - Dst: ipmi::getSensorMaxMin
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1298,1
    - Dst: ipmi::getSensorAttributes
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1306,1
    - Dst: std::runtime_error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1308,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1310,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1314,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1316,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1319,1
    - Dst: std::visit
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1322,1
    - Dst: VariantToDoubleVisitor
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1322,1
    - Dst: std::isfinite
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1323,1
    - Dst: ipmi::scaleIPMIValueFromDouble
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1325,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1329,1
    - Dst: std::visit
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1332,1
    - Dst: VariantToDoubleVisitor
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1332,1
    - Dst: std::isfinite
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1333,1
    - Dst: ipmi::scaleIPMIValueFromDouble
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1335,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1340,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1344,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1346,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1349,1
    - Dst: std::visit
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1352,1
    - Dst: VariantToDoubleVisitor
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1352,1
    - Dst: std::isfinite
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1353,1
    - Dst: ipmi::scaleIPMIValueFromDouble
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1355,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1359,1
    - Dst: std::visit
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1362,1
    - Dst: VariantToDoubleVisitor
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1362,1
    - Dst: std::isfinite
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1363,1
    - Dst: ipmi::scaleIPMIValueFromDouble
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1365,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 35
    argCount: 1
    argNames:
    - ' sensorMap'
    argTypes:
    - DbusInterfaceMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1372
      start: 1278
    functionDepth: 3
    functionLinenumber: 1278
    functionLinenumberEnd: 1372
    functionName: ipmi::getIPMIThresholds
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp
    functionUses: 0
    functionsReached:
    - ipmi::getSensorMaxMin
    - ipmi::scaleIPMIValueFromDouble
    - std::visit
    - std::runtime_error
    - end
    - VariantToDoubleVisitor
    - find
    - ipmi::getSensorAttributes
    - std::isfinite
    linkageType: ''
    returnType: IPMIThresholds
    signature: IPMIThresholds getIPMIThresholds(const DbusInterfaceMap& sensorMap)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1388,1
    - Dst: ipmi::getSensorConnection
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1391,1
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1394,1
    - Dst: ipmi::getSensorMap
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1398,1
    - Dst: ipmi::responseResponseError
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1400,1
    - Dst: ipmi::getIPMIThresholds
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1406,1
    - Dst: ipmi::responseResponseError
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1410,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1424,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1430,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1437,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1443,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1447,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 2
    argNames:
    - ctx
    - sensorNumber
    argTypes:
    - ipmi::Context::ptr
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1450
      start: 1374
    functionDepth: 5
    functionLinenumber: 1374
    functionLinenumberEnd: 1450
    functionName: ipmi::ipmiSenGetSensorThresholds
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp
    functionUses: 0
    functionsReached:
    - ipmi::responseResponseError
    - ipmi::getIPMIThresholds
    - ipmi::responseSuccess
    - ipmi::getSensorMap
    - ipmi::responseInvalidFieldRequest
    - static_cast<uint8_t>
    - ipmi::response
    - ipmi::getSensorConnection
    linkageType: ''
    returnType: "ipmi::RspType<uint8_t, // readable\n              uint8_t, // lowerNCrit\n
      \             uint8_t, // lowerCrit\n              uint8_t, // lowerNrecoverable\n
      \             uint8_t, // upperNC\n              uint8_t, // upperCrit\n              uint8_t>"
    signature: "ipmi::RspType<uint8_t, // readable\n              uint8_t, // lowerNCrit\n
      \             uint8_t, // lowerCrit\n              uint8_t, // lowerNrecoverable\n
      \             uint8_t, // upperNC\n              uint8_t, // upperCrit\n              uint8_t>
      ipmiSenGetSensorThresholds(ipmi::Context::ptr ctx, uint8_t sensorNumber)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1481,1
    - Dst: ipmi::getSensorConnection
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1484,1
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1487,1
    - Dst: findStaticSensor
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1491,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1492,1
    - Dst: getSensorEventTypeFromPath
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1493,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1494,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1496,1
    - Dst: auto::second::propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1499,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1499,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1505,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1507,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1509,1
    - Dst: ipmi::getSensorMap
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1516,1
    - Dst: ipmi::responseResponseError
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1518,1
    - Dst: DbusInterfaceMap::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1521,1
    - Dst: DbusInterfaceMap::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1522,1
    - Dst: DbusInterfaceMap::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1523,1
    - Dst: DbusInterfaceMap::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1524,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1526,1
    - Dst: DbusInterfaceMap::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1528,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1532,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1534,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1536,1
    - Dst: std::visit
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1539,1
    - Dst: VariantToDoubleVisitor
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1539,1
    - Dst: std::isfinite
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1540,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1542,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1545,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1550,1
    - Dst: std::visit
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1553,1
    - Dst: VariantToDoubleVisitor
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1553,1
    - Dst: std::isfinite
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1554,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1556,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1559,1
    - Dst: DbusInterfaceMap::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1565,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1569,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1571,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1574,1
    - Dst: std::visit
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1577,1
    - Dst: VariantToDoubleVisitor
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1577,1
    - Dst: std::isfinite
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1578,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1580,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1583,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1587,1
    - Dst: std::visit
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1590,1
    - Dst: VariantToDoubleVisitor
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1590,1
    - Dst: std::isfinite
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1591,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1593,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1595,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1603,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 51
    argCount: 2
    argNames:
    - ctx
    - sensorNum
    argTypes:
    - ipmi::Context::ptr
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1606
      start: 1463
    functionDepth: 5
    functionLinenumber: 1463
    functionLinenumberEnd: 1606
    functionName: ipmi::ipmiSenGetSensorEventEnable
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp
    functionUses: 0
    functionsReached:
    - auto::second::propertyInterfaces::begin
    - ipmi::responseResponseError
    - ipmi::responseSuccess
    - find
    - std::visit
    - findStaticSensor
    - ipmi::getSensorMap
    - DbusInterfaceMap::end
    - ipmi::responseInvalidFieldRequest
    - getSensorEventTypeFromPath
    - end
    - static_cast<uint8_t>
    - begin
    - DbusInterfaceMap::find
    - VariantToDoubleVisitor
    - std::isfinite
    - ipmi::response
    - ipmi::getSensorConnection
    linkageType: ''
    returnType: "ipmi::RspType<uint8_t, // enabled\n              uint8_t, // assertionEnabledLsb\n
      \             uint8_t, // assertionEnabledMsb\n              uint8_t, // deassertionEnabledLsb\n
      \             uint8_t>"
    signature: "ipmi::RspType<uint8_t, // enabled\n              uint8_t, // assertionEnabledLsb\n
      \             uint8_t, // assertionEnabledMsb\n              uint8_t, // deassertionEnabledLsb\n
      \             uint8_t> ipmiSenGetSensorEventEnable(ipmi::Context::ptr ctx, uint8_t
      sensorNum)"
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1624,1
    - Dst: ipmi::getSensorConnection
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1629,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1632,1
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1635,1
    - Dst: findStaticSensor
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1639,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1640,1
    - Dst: getSensorEventTypeFromPath
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1641,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1642,1
    - Dst: ipmi::sensor::get::mapDbusToAssertion
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1644,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1652,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1657,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1662,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1667,1
    - Dst: ipmi::getSensorMap
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1673,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1675,1
    - Dst: ipmi::responseResponseError
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1678,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1682,1
    - Dst: DbusInterfaceMap::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1687,1
    - Dst: DbusInterfaceMap::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1688,1
    - Dst: ipmi::sensor::getVrEventStatus
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1690,1
    - Dst: ipmi::responseResponseError
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1693,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1698,1
    - Dst: DbusInterfaceMap::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1702,1
    - Dst: DbusInterfaceMap::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1703,1
    - Dst: std::bitset::set
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1716,1
    - Dst: static_cast<size_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1716,1
    - Dst: std::bitset::set
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1721,1
    - Dst: static_cast<size_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1721,1
    - Dst: std::bitset::set
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1726,1
    - Dst: static_cast<size_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1726,1
    - Dst: std::bitset::set
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1731,1
    - Dst: static_cast<size_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1731,1
    - Dst: DbusInterfaceMap::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1734,1
    - Dst: DbusInterfaceMap::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1735,1
    - Dst: static_cast<size_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1737,1
    - Dst: DbusInterfaceMap::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1739,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1743,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1745,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1750,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1752,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1754,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1756,1
    - Dst: std::bitset::set
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1760,1
    - Dst: static_cast<size_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1760,1
    - Dst: std::bitset::set
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1766,1
    - Dst: static_cast<size_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1766,1
    - Dst: DbusInterfaceMap::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1771,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1775,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1777,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1782,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1784,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1786,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1788,1
    - Dst: std::bitset::set
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1792,1
    - Dst: static_cast<size_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1792,1
    - Dst: std::bitset::set
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1798,1
    - Dst: static_cast<size_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1798,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1804,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 78
    argCount: 2
    argNames:
    - ctx
    - sensorNum
    argTypes:
    - ipmi::Context::ptr
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1805
      start: 1616
    functionDepth: 5
    functionLinenumber: 1616
    functionLinenumberEnd: 1805
    functionName: ipmi::ipmiSenGetSensorEventStatus
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - ipmi::responseSuccess
    - findStaticSensor
    - ipmi::getSensorMap
    - DbusInterfaceMap::end
    - static_cast<uint8_t>
    - find
    - std::bitset::set
    - ipmi::response
    - ipmi::responseResponseError
    - getSensorEventTypeFromPath
    - end
    - ipmi::getSensorConnection
    - ipmi::sensor::get::mapDbusToAssertion
    - ipmi::responseInvalidFieldRequest
    - DbusInterfaceMap::find
    - lg2::error
    - ipmi::sensor::getVrEventStatus
    - std::get<bool>
    linkageType: ''
    returnType: "ipmi::RspType<uint8_t,         // sensorEventStatus\n              std::bitset<16>,
      // assertions\n              std::bitset<16>  // deassertion\n              >"
    signature: "ipmi::RspType<uint8_t,         // sensorEventStatus\n              std::bitset<16>,
      // assertions\n              std::bitset<16>  // deassertion\n              >
      ipmiSenGetSensorEventStatus(ipmi::Context::ptr ctx, uint8_t sensorNum)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1811,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1812,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - sensorNum
    - recordID
    - ' record'
    argTypes:
    - uint16_t
    - uint16_t
    - get_sdr::SensorDataFullRecord
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1822
      start: 1808
    functionDepth: 0
    functionLinenumber: 1808
    functionLinenumberEnd: 1822
    functionName: ipmi::constructSensorSdrHeaderKey
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: "void constructSensorSdrHeaderKey(uint16_t sensorNum, uint16_t recordID,\n
      \                                get_sdr::SensorDataFullRecord& record)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::constructSensorSdrHeaderKey
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1829,1
    - Dst: ipmi::getSensorMap
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1832,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1834,1
    - Dst: getSensorTypeFromPath
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1841,1
    - Dst: getSensorTypeStringFromPath
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1842,1
    - Dst: std::string::c_str
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1843,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1844,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1845,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1847,1
    - Dst: getSensorEventTypeFromPath
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1850,1
    - Dst: DbusInterfaceMap::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1852,1
    - Dst: DbusInterfaceMap::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1853,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1855,1
    - Dst: ipmi::updateIpmiFromAssociation
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1864,1
    - Dst: ipmi::getSensorMaxMin
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1872,1
    - Dst: ipmi::getSensorAttributes
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1880,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1882,1
    - Dst: ipmi::sensor::parseSdrIdFromPath
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1937,1
    - Dst: get_sdr::body::setIdStrLen
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1938,1
    - Dst: auto::size
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1938,1
    - Dst: get_sdr::body::setIdType
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1939,1
    - Dst: std::memcpy
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1940,1
    - Dst: auto::c_str
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1940,1
    - Dst: std::min
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1941,1
    - Dst: auto::length
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1941,1
    - Dst: updateName
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1944,1
    - Dst: DbusInterfaceMap::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1948,1
    - Dst: DbusInterfaceMap::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1949,1
    - Dst: ipmi::mappedVariant
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1952,1
    - Dst: get_sdr::body::initSettableState
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1954,1
    - Dst: setWritePermission
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1957,1
    - Dst: ipmi::getIPMIThresholds
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1962,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1966,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1973,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1975,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1977,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1980,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1985,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1987,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1989,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1992,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1997,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1999,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2001,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2004,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2009,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2011,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2013,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2016,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 75
    argCount: 7
    argNames:
    - ctx
    - ' ipmiDecoratorPaths'
    - sensorNum
    - recordID
    - ' service'
    - ' path'
    - ' record'
    argTypes:
    - ipmi::Context::ptr
    - std::unordered_set<std::string>
    - uint16_t
    - uint16_t
    - std::string
    - std::string
    - get_sdr::SensorDataFullRecord
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2023
      start: 1823
    functionDepth: 4
    functionLinenumber: 1823
    functionLinenumberEnd: 2023
    functionName: ipmi::constructSensorSdr
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp
    functionUses: 0
    functionsReached:
    - ipmi::updateIpmiFromAssociation
    - auto::c_str
    - ipmi::getSensorMap
    - DbusInterfaceMap::end
    - static_cast<uint8_t>
    - find
    - ipmi::getIPMIThresholds
    - get_sdr::body::setIdStrLen
    - std::min
    - ipmi::mappedVariant
    - getSensorEventTypeFromPath
    - end
    - setWritePermission
    - ipmi::getSensorAttributes
    - std::memcpy
    - auto::length
    - updateName
    - ipmi::constructSensorSdrHeaderKey
    - getSensorTypeFromPath
    - ipmi::sensor::parseSdrIdFromPath
    - DbusInterfaceMap::find
    - lg2::error
    - ipmi::getSensorMaxMin
    - getSensorTypeStringFromPath
    - get_sdr::body::setIdType
    - std::string::c_str
    - get_sdr::body::initSettableState
    - auto::size
    linkageType: ''
    returnType: bool
    signature: "bool constructSensorSdr(\n    ipmi::Context::ptr ctx,\n    const std::unordered_set<std::string>&
      ipmiDecoratorPaths,\n    uint16_t sensorNum, uint16_t recordID, const std::string&
      service,\n    const std::string& path, get_sdr::SensorDataFullRecord& record)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::constructSensorSdrHeaderKey
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2032,1
    - Dst: get_sdr::body::initSettableState
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2041,1
    - Dst: auto::empty
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2046,1
    - Dst: ipmi::sensor::IdInfoMap::const_iterator::second::sensorNameFunc
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2048,1
    - Dst: auto::length
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2051,1
    - Dst: get_sdr::body::setIdStrLen
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2053,1
    - Dst: get_sdr::body::setIdStrLen
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2057,1
    - Dst: auto::length
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2057,1
    - Dst: get_sdr::body::setIdType
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2059,1
    - Dst: std::strncpy
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2060,1
    - Dst: auto::c_str
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2060,1
    - Dst: get_sdr::body::getIdStrLen
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2061,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 4
    argNames:
    - sensorNum
    - recordID
    - sensor
    - ' record'
    argTypes:
    - uint16_t
    - uint16_t
    - ipmi::sensor::IdInfoMap::const_iterator
    - get_sdr::SensorDataFullRecord
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2062
      start: 2027
    functionDepth: 1
    functionLinenumber: 2027
    functionLinenumberEnd: 2062
    functionName: ipmi::constructStaticSensorSdr
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp
    functionUses: 0
    functionsReached:
    - auto::length
    - std::strncpy
    - get_sdr::body::getIdStrLen
    - get_sdr::body::setIdStrLen
    - get_sdr::body::setIdType
    - auto::c_str
    - ipmi::constructSensorSdrHeaderKey
    - auto::empty
    - get_sdr::body::initSettableState
    - ipmi::sensor::IdInfoMap::const_iterator::second::sensorNameFunc
    linkageType: ''
    returnType: void
    signature: "void constructStaticSensorSdr(ipmi::Context::ptr, uint16_t sensorNum,\n
      \                             uint16_t recordID,\n                              ipmi::sensor::IdInfoMap::const_iterator
      sensor,\n                              get_sdr::SensorDataFullRecord& record)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2069,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2070,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - sensorNum
    - recordID
    - ' record'
    argTypes:
    - uint16_t
    - uint16_t
    - get_sdr::SensorDataEventRecord
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2083
      start: 2066
    functionDepth: 0
    functionLinenumber: 2066
    functionLinenumberEnd: 2083
    functionName: ipmi::constructEventSdrHeaderKey
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: "void constructEventSdrHeaderKey(uint16_t sensorNum, uint16_t recordID,\n
      \                               get_sdr::SensorDataEventRecord& record)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::constructEventSdrHeaderKey
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2092,1
    - Dst: ipmi::getSensorMap
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2095,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2097,1
    - Dst: ipmi::updateIpmiFromAssociation
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2104,1
    - Dst: ipmi::sensor::parseSdrIdFromPath
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2119,1
    - Dst: std::min
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2120,1
    - Dst: auto::size
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2120,1
    - Dst: get_sdr::body::setIdStrLen
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2121,1
    - Dst: get_sdr::body::setIdType
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2122,1
    - Dst: std::memset
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2123,1
    - Dst: std::memcpy
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2124,1
    - Dst: auto::c_str
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2124,1
    - Dst: updateName
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 7
    argNames:
    - ctx
    - ' ipmiDecoratorPaths'
    - sensorNum
    - recordID
    - ' service'
    - ' path'
    - ' record'
    argTypes:
    - ipmi::Context::ptr
    - std::unordered_set<std::string>
    - uint16_t
    - uint16_t
    - std::string
    - std::string
    - get_sdr::SensorDataEventRecord
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2130
      start: 2086
    functionDepth: 3
    functionLinenumber: 2086
    functionLinenumberEnd: 2130
    functionName: ipmi::constructVrSdr
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp
    functionUses: 0
    functionsReached:
    - ipmi::updateIpmiFromAssociation
    - ipmi::constructEventSdrHeaderKey
    - get_sdr::body::setIdStrLen
    - get_sdr::body::setIdType
    - auto::c_str
    - std::memset
    - updateName
    - std::min
    - ipmi::getSensorMap
    - ipmi::sensor::parseSdrIdFromPath
    - auto::size
    - lg2::error
    - std::memcpy
    linkageType: ''
    returnType: bool
    signature: "bool constructVrSdr(ipmi::Context::ptr ctx,\n                    const
      std::unordered_set<std::string>& ipmiDecoratorPaths,\n                    uint16_t
      sensorNum, uint16_t recordID,\n                    const std::string& service,
      const std::string& path,\n                    get_sdr::SensorDataEventRecord&
      record)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2134,1
    - Dst: ipmi::getSensorTree
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2135
      start: 2132
    functionDepth: 1
    functionLinenumber: 2132
    functionLinenumberEnd: 2135
    functionName: ipmi::getNumberOfSensors
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp
    functionUses: 2
    functionsReached:
    - std::min
    - ipmi::getSensorTree
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t getNumberOfSensors()
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: std::numeric_limits<uint8_t>::max
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2141,1
    - Dst: clear
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2143,1
    - Dst: ipmi::getNumberOfSensors
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2144,1
    - Dst: ipmi::sensor::getOtherSensorsCount
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2145,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2158,1
    - Dst: ipmi::getNumberOfSensors
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2161,1
    - Dst: ipmi::sensor::getOtherSensorsDataRecord
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2163,1
    - Dst: ipmi::getSensorConnection
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2198,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2198,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2202,1
    - Dst: getSensorNumberFromPath
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2205,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2211,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2214,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2215,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2217,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2220,1
    - Dst: std::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2225,1
    - Dst: std::vector::begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2225,1
    - Dst: std::vector::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2225,1
    - Dst: std::vector::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2226,1
    - Dst: ipmi::constructSensorSdrHeaderKey
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2234,1
    - Dst: ipmi::constructSensorSdr
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2236,1
    - Dst: insert
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2242,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2242,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2242,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2243,1
    - Dst: findStaticSensor
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2249,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2250,1
    - Dst: getSensorEventTypeFromPath
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2251,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2252,1
    - Dst: ipmi::constructSensorSdrHeaderKey
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2260,1
    - Dst: ipmi::constructStaticSensorSdr
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2264,1
    - Dst: insert
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2267,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2267,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2267,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2268,1
    - Dst: std::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2275,1
    - Dst: std::vector::begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2275,1
    - Dst: std::vector::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2275,1
    - Dst: std::vector::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2276,1
    - Dst: ipmi::constructEventSdrHeaderKey
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2284,1
    - Dst: ipmi::constructVrSdr
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2286,1
    - Dst: insert
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2291,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2291,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2291,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2292,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 69
    argCount: 4
    argNames:
    - ctx
    - ' ipmiDecoratorPaths'
    - ' recordData'
    - recordID
    argTypes:
    - ipmi::Context::ptr
    - std::unordered_set<std::string>
    - std::vector<uint8_t>
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2296
      start: 2137
    functionDepth: 5
    functionLinenumber: 2137
    functionLinenumberEnd: 2296
    functionName: ipmi::getSensorDataRecord
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp
    functionUses: 0
    functionsReached:
    - insert
    - findStaticSensor
    - ipmi::constructStaticSensorSdr
    - static_cast<uint8_t>
    - clear
    - std::vector::end
    - ipmi::constructEventSdrHeaderKey
    - std::vector::begin
    - ipmi::constructSensorSdr
    - std::find
    - ipmi::getNumberOfSensors
    - getSensorEventTypeFromPath
    - end
    - ipmi::constructVrSdr
    - ipmi::getSensorConnection
    - ipmi::constructSensorSdrHeaderKey
    - reinterpret_cast<uint8_t*>
    - ipmi::sensor::getOtherSensorsCount
    - lg2::error
    - ipmi::sensor::getOtherSensorsDataRecord
    - getSensorNumberFromPath
    - std::numeric_limits<uint8_t>::max
    linkageType: ''
    returnType: int
    signature: "int getSensorDataRecord(\n    ipmi::Context::ptr ctx,\n    const std::unordered_set<std::string>&
      ipmiDecoratorPaths,\n    std::vector<uint8_t>& recordData, uint16_t recordID,\n
      \   uint8_t readBytes = std::numeric_limits<uint8_t>::max())"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getSensorTree
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2313,1
    - Dst: getSensorSubtree
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2320,1
    - Dst: empty
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2320,1
    - Dst: ipmi::responseResponseError
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2322,1
    - Dst: ipmi::getNumberOfSensors
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2324,1
    - Dst: std::optional<uint8_t>::value_or
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2325,1
    - Dst: ipmi::sensor::getOtherSensorsCount
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2327,1
    - Dst: std::optional<uint8_t>::value_or
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2329,1
    - Dst: std::out_of_range
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2352,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2359,1
    - Dst: std::out_of_range
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2377,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2380,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 37
    argCount: 2
    argNames:
    - ctx
    - operation
    argTypes:
    - ipmi::Context::ptr
    - std::optional<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2382
      start: 2306
    functionDepth: 3
    functionLinenumber: 2306
    functionLinenumberEnd: 2382
    functionName: ipmi::ipmiSensorGetDeviceSdrInfo
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp
    functionUses: 0
    functionsReached:
    - ipmi::responseResponseError
    - std::out_of_range
    - ipmi::responseSuccess
    - getSensorSubtree
    - ipmi::getNumberOfSensors
    - std::optional<uint8_t>::value_or
    - ipmi::sensor::getOtherSensorsCount
    - ipmi::responseInvalidFieldRequest
    - empty
    - ipmi::getSensorTree
    linkageType: ''
    returnType: "ipmi::RspType<uint8_t, // respcount\n                     uint8_t,
      // dynamic population flags\n                     uint32_t // last time a sensor
      was added\n                     >"
    signature: "ipmi::RspType<uint8_t, // respcount\n                     uint8_t,
      // dynamic population flags\n                     uint32_t // last time a sensor
      was added\n                     > ipmiSensorGetDeviceSdrInfo(ipmi::Context::ptr
      ctx,\n                               std::optional<uint8_t> operation)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getNumberOfSensors
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2399,1
    - Dst: ipmi::sensor::getOtherSensorsCount
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2399,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2401,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2405,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2406,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - ipmi::Context::ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2411
      start: 2388
    functionDepth: 2
    functionLinenumber: 2388
    functionLinenumberEnd: 2411
    functionName: ipmi::ipmiStorageGetSDRRepositoryInfo
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp
    functionUses: 0
    functionsReached:
    - ipmi::getNumberOfSensors
    - static_cast<uint8_t>
    - ipmi::responseSuccess
    - ipmi::sensor::getOtherSensorsCount
    linkageType: ''
    returnType: "ipmi::RspType<uint8_t,  // sdr version\n              uint16_t, //
      record count\n              uint16_t, // free space\n              uint32_t,
      // most recent addition\n              uint32_t, // most recent erase\n              uint8_t
      \  // operationSupport\n              >"
    signature: "ipmi::RspType<uint8_t,  // sdr version\n              uint16_t, //
      record count\n              uint16_t, // free space\n              uint32_t,
      // most recent addition\n              uint32_t, // most recent erase\n              uint8_t
      \  // operationSupport\n              > ipmiStorageGetSDRRepositoryInfo(ipmi::Context::ptr
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2440
      start: 2422
    functionDepth: 1
    functionLinenumber: 2422
    functionLinenumberEnd: 2440
    functionName: ipmi::ipmiStorageGetSDRAllocationInfo
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp
    functionUses: 0
    functionsReached:
    - ipmi::responseSuccess
    linkageType: ''
    returnType: "ipmi::RspType<uint16_t, // allocUnits\n              uint16_t, //
      allocUnitSize\n              uint16_t, // allocUnitFree\n              uint16_t,
      // allocUnitLargestFree\n              uint8_t   // maxRecordSize\n              >"
    signature: "ipmi::RspType<uint16_t, // allocUnits\n              uint16_t, //
      allocUnitSize\n              uint16_t, // allocUnitFree\n              uint16_t,
      // allocUnitLargestFree\n              uint8_t   // maxRecordSize\n              >
      ipmiStorageGetSDRAllocationInfo()"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2454,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2455
      start: 2446
    functionDepth: 1
    functionLinenumber: 2446
    functionLinenumberEnd: 2455
    functionName: ipmi::ipmiStorageReserveSDR
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp
    functionUses: 0
    functionsReached:
    - ipmi::responseSuccess
    linkageType: ''
    returnType: ipmi::RspType<uint16_t>
    signature: ipmi::RspType<uint16_t> ipmiStorageReserveSDR()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2467,1
    - Dst: ipmi::responseInvalidReservationId
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2468,1
    - Dst: ipmi::getSensorTree
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2471,1
    - Dst: getSensorSubtree
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2472,1
    - Dst: empty
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2472,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2474,1
    - Dst: ipmi::responseResponseError
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2475,1
    - Dst: ipmi::getIpmiDecoratorPaths
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2478,1
    - Dst: ipmi::getSensorDataRecord
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2481,1
    - Dst: value_or
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2482,1
    - Dst: std::unordered_set<std::string>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2482,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2487,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2488,1
    - Dst: reinterpret_cast<get_sdr::SensorDataRecordHeader*>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2491,1
    - Dst: std::vector::data
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2491,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2494,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2495,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2502,1
    - Dst: ipmi::responseParmOutOfRange
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2503,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2510,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2513,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2514,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2519,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 5
    argNames:
    - ctx
    - reservationID
    - recordID
    - offset
    - bytesToRead
    argTypes:
    - ipmi::Context::ptr
    - uint16_t
    - uint16_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2520
      start: 2457
    functionDepth: 6
    functionLinenumber: 2457
    functionLinenumberEnd: 2520
    functionName: ipmi::ipmiStorageGetSDR
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp
    functionUses: 0
    functionsReached:
    - ipmi::responseResponseError
    - value_or
    - std::unordered_set<std::string>
    - ipmi::responseSuccess
    - getSensorSubtree
    - ipmi::responseParmOutOfRange
    - ipmi::getSensorDataRecord
    - std::vector::data
    - reinterpret_cast<uint8_t*>
    - ipmi::getIpmiDecoratorPaths
    - ipmi::responseInvalidFieldRequest
    - ipmi::responseInvalidReservationId
    - empty
    - lg2::error
    - reinterpret_cast<get_sdr::SensorDataRecordHeader*>
    - ipmi::getSensorTree
    linkageType: ''
    returnType: "ipmi::RspType<uint16_t,            // next record ID\n              std::vector<uint8_t>
      // payload\n              >"
    signature: "ipmi::RspType<uint16_t,            // next record ID\n              std::vector<uint8_t>
      // payload\n              > ipmiStorageGetSDR(ipmi::Context::ptr ctx, uint16_t
      reservationID,\n                      uint16_t recordID, uint8_t offset, uint8_t
      bytesToRead)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2532,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2534,1
    - Dst: std::make_tuple
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2536,1
    - Dst: getSensorTree
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2539,1
    - Dst: getSensorSubtree
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2540,1
    - Dst: empty
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2540,1
    - Dst: std::make_tuple
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2542,1
    - Dst: getIpmiDecoratorPaths
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2545,1
    - Dst: getSensorTypeFromPath
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2551,1
    - Dst: second::begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2563,1
    - Dst: getSensorMap
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2566,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2569,1
    - Dst: updateIpmiFromAssociation
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2582,1
    - Dst: value_or
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2584,1
    - Dst: std::unordered_set<std::string>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2584,1
    - Dst: std::vector::empty
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2598,1
    - Dst: getSensorNumberFromPath
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2605,1
    - Dst: std::vector::emplace_back
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2611,1
    - Dst: getSensorNumberFromPath
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2618,1
    - Dst: std::vector::emplace_back
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2624,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2632,1
    - Dst: sort
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2641,1
    - Dst: std::vector::begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2641,1
    - Dst: std::vector::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2641,1
    - Dst: std::make_tuple
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2643,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 45
    argCount: 4
    argNames:
    - ctx
    - entityId
    - entityInstance
    - instanceStart
    argTypes:
    - ipmi::Context::ptr
    - uint8_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2644
      start: 2524
    functionDepth: 4
    functionLinenumber: 2524
    functionLinenumberEnd: 2644
    functionName: ipmi::dcmi::getSensorsByEntityId
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp
    functionUses: 0
    functionsReached:
    - getSensorSubtree
    - find
    - std::vector::emplace_back
    - std::vector::end
    - second::begin
    - getIpmiDecoratorPaths
    - std::vector::begin
    - sort
    - end
    - updateIpmiFromAssociation
    - getSensorTree
    - std::vector::empty
    - value_or
    - std::make_tuple
    - getSensorTypeFromPath
    - getSensorMap
    - empty
    - lg2::error
    - std::unordered_set<std::string>
    - getSensorNumberFromPath
    linkageType: ''
    returnType: "std::tuple<uint8_t,                // Total of instance sensors\n
      \          std::vector<sensorInfo> // The list of sensors\n           >"
    signature: "std::tuple<uint8_t,                // Total of instance sensors\n
      \          std::vector<sensorInfo> // The list of sensors\n           > getSensorsByEntityId(ipmi::Context::ptr
      ctx, uint8_t entityId,\n                         uint8_t entityInstance, uint8_t
      instanceStart)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2653,1
    - Dst: boost::system::error_code::value
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2654,1
    - Dst: std::make_tuple
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2656,1
    - Dst: ipmi::getAllDbusProperties
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2660,1
    - Dst: boost::system::error_code::value
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2662,1
    - Dst: std::make_tuple
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2664,1
    - Dst: ipmi::PropertyMap::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2667,1
    - Dst: ipmi::PropertyMap::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2669,1
    - Dst: std::visit
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2671,1
    - Dst: ipmi::VariantToDoubleVisitor
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2671,1
    - Dst: ipmi::PropertyMap::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2674,1
    - Dst: ipmi::PropertyMap::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2676,1
    - Dst: std::make_tuple
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2678,1
    - Dst: std::visit
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2685,1
    - Dst: ipmi::VariantToDoubleVisitor
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2685,1
    - Dst: std::pow
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2686,1
    - Dst: std::abs
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2687,1
    - Dst: std::min
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2688,1
    - Dst: std::make_tuple
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2691,1
    - Dst: static_cast<uint7_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2691,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - ctx
    - ' objectPath'
    argTypes:
    - ipmi::Context::ptr
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2692
      start: 2646
    functionDepth: 1
    functionLinenumber: 2646
    functionLinenumberEnd: 2692
    functionName: ipmi::dcmi::readTemp
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp
    functionUses: 0
    functionsReached:
    - ipmi::PropertyMap::find
    - ipmi::PropertyMap::end
    - ipmi::getAllDbusProperties
    - ipmi::getService
    - std::make_tuple
    - std::visit
    - ipmi::VariantToDoubleVisitor
    - std::min
    - std::pow
    - static_cast<uint7_t>
    - std::abs
    - boost::system::error_code::value
    linkageType: ''
    returnType: "std::tuple<bool,    // Reading result\n           uint7_t, // Temp
      value\n           bool>"
    signature: "std::tuple<bool,    // Reading result\n           uint7_t, // Temp
      value\n           bool> readTemp(ipmi::Context::ptr ctx, const std::string&
      objectPath)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2702,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2703,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2705,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2707,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2712,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2715,1
    - Dst: ipmi::dcmi::getSensorsByEntityId
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2720,1
    - Dst: empty
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2722,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2724,1
    - Dst: std::vector::emplace_back
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2737,1
    - Dst: std::vector::size
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2738,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2744,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2745,1
    - Dst: std::vector::size
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2745,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 5
    argNames:
    - ctx
    - sensorType
    - entityId
    - entityInstance
    - instanceStart
    argTypes:
    - ipmi::Context::ptr
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2746
      start: 2694
    functionDepth: 5
    functionLinenumber: 2694
    functionLinenumberEnd: 2746
    functionName: ipmi::dcmi::getSensorInfo
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp
    functionUses: 0
    functionsReached:
    - ipmi::responseSuccess
    - ipmi::dcmi::getSensorsByEntityId
    - std::vector::size
    - ipmi::responseInvalidFieldRequest
    - static_cast<uint8_t>
    - end
    - find
    - empty
    - std::vector::emplace_back
    - lg2::error
    linkageType: ''
    returnType: "ipmi::RspType<uint8_t,              // No of instances for requested
      id\n              uint8_t,              // No of record ids in the response\n
      \             std::vector<uint16_t> // SDR Record ID corresponding to the Entity\n
      \                                   // IDs\n              >"
    signature: "ipmi::RspType<uint8_t,              // No of instances for requested
      id\n              uint8_t,              // No of record ids in the response\n
      \             std::vector<uint16_t> // SDR Record ID corresponding to the Entity\n
      \                                   // IDs\n              > getSensorInfo(ipmi::Context::ptr
      ctx, uint8_t sensorType, uint8_t entityId,\n                  uint8_t entityInstance,
      uint8_t instanceStart)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2759,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2760,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2762,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2764,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2769,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2772,1
    - Dst: ipmi::dcmi::getSensorsByEntityId
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2777,1
    - Dst: empty
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2779,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2781,1
    - Dst: ipmi::dcmi::readTemp
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2795,1
    - Dst: std::vector::emplace_back
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2799,1
    - Dst: std::make_tuple
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2800,1
    - Dst: std::vector::size
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2802,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2809,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2810,1
    - Dst: std::vector::size
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2810,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 5
    argNames:
    - ctx
    - sensorType
    - entityId
    - entityInstance
    - instanceStart
    argTypes:
    - ipmi::Context::ptr
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2812
      start: 2748
    functionDepth: 5
    functionLinenumber: 2748
    functionLinenumberEnd: 2812
    functionName: ipmi::dcmi::getTempReadings
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp
    functionUses: 0
    functionsReached:
    - ipmi::responseSuccess
    - ipmi::dcmi::getSensorsByEntityId
    - std::make_tuple
    - std::vector::size
    - std::vector::emplace_back
    - ipmi::responseInvalidFieldRequest
    - static_cast<uint8_t>
    - end
    - find
    - empty
    - ipmi::dcmi::readTemp
    - lg2::error
    linkageType: ''
    returnType: "ipmi::RspType<uint8_t,                // No of instances for requested
      id\n              uint8_t,                // No of record ids in the response\n
      \             std::vector<            // Temperature Data\n                  std::tuple<uint7_t,
      // Temperature value\n                             bool,    // Sign bit\n                             uint8_t
      \ // Entity Instance of sensor\n                             >>>"
    signature: "ipmi::RspType<uint8_t,                // No of instances for requested
      id\n              uint8_t,                // No of record ids in the response\n
      \             std::vector<            // Temperature Data\n                  std::tuple<uint7_t,
      // Temperature value\n                             bool,    // Sign bit\n                             uint8_t
      \ // Entity Instance of sensor\n                             >>> getTempReadings(ipmi::Context::ptr
      ctx, uint8_t sensorType,\n                    uint8_t entityId, uint8_t entityInstance,\n
      \                   uint8_t instanceStart)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2532,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2534,1
    - Dst: std::make_tuple
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2536,1
    - Dst: getSensorTree
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2539,1
    - Dst: getSensorSubtree
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2540,1
    - Dst: empty
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2540,1
    - Dst: std::make_tuple
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2542,1
    - Dst: getIpmiDecoratorPaths
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2545,1
    - Dst: getSensorTypeFromPath
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2551,1
    - Dst: second::begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2563,1
    - Dst: getSensorMap
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2566,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2569,1
    - Dst: updateIpmiFromAssociation
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2582,1
    - Dst: value_or
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2584,1
    - Dst: std::unordered_set<std::string>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2584,1
    - Dst: std::vector::empty
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2598,1
    - Dst: getSensorNumberFromPath
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2605,1
    - Dst: std::vector::emplace_back
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2611,1
    - Dst: getSensorNumberFromPath
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2618,1
    - Dst: std::vector::emplace_back
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2624,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2632,1
    - Dst: sort
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2641,1
    - Dst: std::vector::begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2641,1
    - Dst: std::vector::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2641,1
    - Dst: std::make_tuple
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2643,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 45
    argCount: 4
    argNames:
    - ctx
    - entityId
    - entityInstance
    - instanceStart
    argTypes:
    - ipmi::Context::ptr
    - uint8_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2644
      start: 2524
    functionDepth: 4
    functionLinenumber: 2524
    functionLinenumberEnd: 2644
    functionName: ipmi::dcmi::getSensorsByEntityId
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp
    functionUses: 2
    functionsReached:
    - getSensorSubtree
    - find
    - std::vector::emplace_back
    - std::vector::end
    - second::begin
    - getIpmiDecoratorPaths
    - std::vector::begin
    - sort
    - end
    - updateIpmiFromAssociation
    - getSensorTree
    - std::vector::empty
    - value_or
    - std::make_tuple
    - getSensorTypeFromPath
    - getSensorMap
    - empty
    - lg2::error
    - std::unordered_set<std::string>
    - getSensorNumberFromPath
    linkageType: ''
    returnType: "std::tuple<uint8_t,                // Total of instance sensors\n
      \          std::vector<sensorInfo> // The list of sensors\n           >"
    signature: "std::tuple<uint8_t,                // Total of instance sensors\n
      \          std::vector<sensorInfo> // The list of sensors\n           > getSensorsByEntityId(ipmi::Context::ptr
      ctx, uint8_t entityId,\n                         uint8_t entityInstance, uint8_t
      instanceStart)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2653,1
    - Dst: boost::system::error_code::value
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2654,1
    - Dst: std::make_tuple
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2656,1
    - Dst: ipmi::getAllDbusProperties
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2660,1
    - Dst: boost::system::error_code::value
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2662,1
    - Dst: std::make_tuple
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2664,1
    - Dst: ipmi::PropertyMap::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2667,1
    - Dst: ipmi::PropertyMap::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2669,1
    - Dst: std::visit
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2671,1
    - Dst: ipmi::VariantToDoubleVisitor
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2671,1
    - Dst: ipmi::PropertyMap::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2674,1
    - Dst: ipmi::PropertyMap::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2676,1
    - Dst: std::make_tuple
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2678,1
    - Dst: std::visit
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2685,1
    - Dst: ipmi::VariantToDoubleVisitor
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2685,1
    - Dst: std::pow
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2686,1
    - Dst: std::abs
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2687,1
    - Dst: std::min
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2688,1
    - Dst: std::make_tuple
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2691,1
    - Dst: static_cast<uint7_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2691,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - ctx
    - ' objectPath'
    argTypes:
    - ipmi::Context::ptr
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2692
      start: 2646
    functionDepth: 1
    functionLinenumber: 2646
    functionLinenumberEnd: 2692
    functionName: ipmi::dcmi::readTemp
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp
    functionUses: 1
    functionsReached:
    - ipmi::PropertyMap::find
    - ipmi::PropertyMap::end
    - ipmi::getAllDbusProperties
    - ipmi::getService
    - std::make_tuple
    - std::visit
    - ipmi::VariantToDoubleVisitor
    - std::min
    - std::pow
    - static_cast<uint7_t>
    - std::abs
    - boost::system::error_code::value
    linkageType: ''
    returnType: "std::tuple<bool,    // Reading result\n           uint7_t, // Temp
      value\n           bool>"
    signature: "std::tuple<bool,    // Reading result\n           uint7_t, // Temp
      value\n           bool> readTemp(ipmi::Context::ptr ctx, const std::string&
      objectPath)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2702,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2703,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2705,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2707,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2712,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2715,1
    - Dst: ipmi::dcmi::getSensorsByEntityId
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2720,1
    - Dst: empty
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2722,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2724,1
    - Dst: std::vector::emplace_back
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2737,1
    - Dst: std::vector::size
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2738,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2744,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2745,1
    - Dst: std::vector::size
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2745,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 5
    argNames:
    - ctx
    - sensorType
    - entityId
    - entityInstance
    - instanceStart
    argTypes:
    - ipmi::Context::ptr
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2746
      start: 2694
    functionDepth: 5
    functionLinenumber: 2694
    functionLinenumberEnd: 2746
    functionName: ipmi::dcmi::getSensorInfo
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp
    functionUses: 0
    functionsReached:
    - ipmi::responseSuccess
    - ipmi::dcmi::getSensorsByEntityId
    - std::vector::size
    - ipmi::responseInvalidFieldRequest
    - static_cast<uint8_t>
    - end
    - find
    - empty
    - std::vector::emplace_back
    - lg2::error
    linkageType: ''
    returnType: "ipmi::RspType<uint8_t,              // No of instances for requested
      id\n              uint8_t,              // No of record ids in the response\n
      \             std::vector<uint16_t> // SDR Record ID corresponding to the Entity\n
      \                                   // IDs\n              >"
    signature: "ipmi::RspType<uint8_t,              // No of instances for requested
      id\n              uint8_t,              // No of record ids in the response\n
      \             std::vector<uint16_t> // SDR Record ID corresponding to the Entity\n
      \                                   // IDs\n              > getSensorInfo(ipmi::Context::ptr
      ctx, uint8_t sensorType, uint8_t entityId,\n                  uint8_t entityInstance,
      uint8_t instanceStart)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2759,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2760,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2762,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2764,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2769,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2772,1
    - Dst: ipmi::dcmi::getSensorsByEntityId
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2777,1
    - Dst: empty
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2779,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2781,1
    - Dst: ipmi::dcmi::readTemp
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2795,1
    - Dst: std::vector::emplace_back
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2799,1
    - Dst: std::make_tuple
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2800,1
    - Dst: std::vector::size
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2802,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2809,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2810,1
    - Dst: std::vector::size
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2810,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 5
    argNames:
    - ctx
    - sensorType
    - entityId
    - entityInstance
    - instanceStart
    argTypes:
    - ipmi::Context::ptr
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2812
      start: 2748
    functionDepth: 5
    functionLinenumber: 2748
    functionLinenumberEnd: 2812
    functionName: ipmi::dcmi::getTempReadings
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp
    functionUses: 0
    functionsReached:
    - ipmi::responseSuccess
    - ipmi::dcmi::getSensorsByEntityId
    - std::make_tuple
    - std::vector::size
    - std::vector::emplace_back
    - ipmi::responseInvalidFieldRequest
    - static_cast<uint8_t>
    - end
    - find
    - empty
    - ipmi::dcmi::readTemp
    - lg2::error
    linkageType: ''
    returnType: "ipmi::RspType<uint8_t,                // No of instances for requested
      id\n              uint8_t,                // No of record ids in the response\n
      \             std::vector<            // Temperature Data\n                  std::tuple<uint7_t,
      // Temperature value\n                             bool,    // Sign bit\n                             uint8_t
      \ // Entity Instance of sensor\n                             >>>"
    signature: "ipmi::RspType<uint8_t,                // No of instances for requested
      id\n              uint8_t,                // No of record ids in the response\n
      \             std::vector<            // Temperature Data\n                  std::tuple<uint7_t,
      // Temperature value\n                             bool,    // Sign bit\n                             uint8_t
      \ // Entity Instance of sensor\n                             >>> getTempReadings(ipmi::Context::ptr
      ctx, uint8_t sensorType,\n                    uint8_t entityId, uint8_t entityInstance,\n
      \                   uint8_t instanceStart)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2821,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2826,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2831,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2836,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2841,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2847,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2852,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2860,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2866,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2871,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2877,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2881,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2886,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2890,1
    - Dst: ipmi::registerGroupHandler
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2894,1
    - Dst: ipmi::registerGroupHandler
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2899,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2903
      start: 2818
    functionDepth: 1
    functionLinenumber: 2818
    functionLinenumberEnd: 2903
    functionName: ipmi::registerSensorFunctions
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp
    functionUses: 0
    functionsReached:
    - ipmi::registerGroupHandler
    - ipmi::registerHandler
    linkageType: ''
    returnType: void
    signature: void registerSensorFunctions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::strcmp
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 129
    functionName: operator()(const char* a, const char* b) const
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp
    functionUses: 0
    functionsReached:
    - std::strcmp
    linkageType: ''
    returnType: bool
    signature: bool operator()(const char* a, const char* b) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getSensorTree
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:169,1
    - Dst: getSensorSubtree
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:170,1
    - Dst: empty
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:170,1
    - Dst: getPathFromSensorNumber
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:180,1
    - Dst: empty
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:181,1
    - Dst: second::begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:190,1
    - Dst: second::begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:192,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 5
    argNames:
    - ctx
    - sensnum
    - ' connection'
    - ' path'
    - interfaces
    argTypes:
    - ipmi::Context::ptr
    - uint8_t
    - std::string
    - std::string
    - std::vector<std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 165
    functionDepth: 4
    functionLinenumber: 165
    functionLinenumberEnd: 198
    functionName: ipmi::getSensorConnection
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp
    functionUses: 7
    functionsReached:
    - getPathFromSensorNumber
    - second::begin
    - getSensorSubtree
    - empty
    - ipmi::getSensorTree
    linkageType: ''
    returnType: ipmi::Cc
    signature: "ipmi::Cc getSensorConnection(ipmi::Context::ptr ctx, uint8_t sensnum,\n
      \                            std::string& connection, std::string& path,\n                             std::vector<std::string>*
      interfaces)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 204
    functionName: ipmi::getSensorTree
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: SensorSubTree
    signature: SensorSubTree & getSensorTree()
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:267,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:268,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:269,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:271,1
    - Dst: auto::second::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:274,1
    - Dst: auto::second::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:276,1
    - Dst: auto::second::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:278,1
    - Dst: std::visit
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:280,1
    - Dst: VariantToDoubleVisitor
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:280,1
    - Dst: auto::second::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:282,1
    - Dst: std::visit
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:284,1
    - Dst: VariantToDoubleVisitor
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:284,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:287,1
    - Dst: auto::second::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:289,1
    - Dst: auto::second::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:291,1
    - Dst: auto::second::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:293,1
    - Dst: std::visit
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:295,1
    - Dst: VariantToDoubleVisitor
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:295,1
    - Dst: std::isfinite
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:296,1
    - Dst: std::fmin
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:298,1
    - Dst: auto::second::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:301,1
    - Dst: std::visit
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:303,1
    - Dst: VariantToDoubleVisitor
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:303,1
    - Dst: std::isfinite
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:304,1
    - Dst: std::fmax
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:306,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:310,1
    - Dst: auto::second::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:312,1
    - Dst: auto::second::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:314,1
    - Dst: auto::second::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:316,1
    - Dst: std::visit
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:318,1
    - Dst: VariantToDoubleVisitor
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:318,1
    - Dst: std::isfinite
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:319,1
    - Dst: std::fmin
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:321,1
    - Dst: auto::second::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:324,1
    - Dst: std::visit
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:326,1
    - Dst: VariantToDoubleVisitor
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:326,1
    - Dst: std::isfinite
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:327,1
    - Dst: std::fmax
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:329,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 3
    argNames:
    - ' sensorMap'
    - ' max'
    - ' min'
    argTypes:
    - DbusInterfaceMap
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 333
    functionName: ipmi::getSensorMaxMin
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp
    functionUses: 4
    functionsReached:
    - find
    - std::visit
    - std::fmin
    - std::fmax
    - auto::second::find
    - end
    - VariantToDoubleVisitor
    - auto::second::end
    - std::isfinite
    linkageType: ''
    returnType: void
    signature: "void getSensorMaxMin(const DbusInterfaceMap& sensorMap, double& max,\n
      \                           double& min)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: findStaticSensor
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:340,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:341,1
    - Dst: getSensorEventTypeFromPath
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:342,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:343,1
    - Dst: "boost::container::flat_map<\n        std::string, std::chrono::time_point<std::chrono::steady_clock>>::find"
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:356,1
    - Dst: std::chrono::time_point<std::chrono::steady_clock>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:357,1
    - Dst: "boost::container::flat_map<\n        std::string, std::chrono::time_point<std::chrono::steady_clock>>::end"
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:358,1
    - Dst: std::chrono::steady_clock::now
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:363,1
    - Dst: std::chrono::duration_cast<std::chrono::seconds>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:365,1
    - Dst: ipmi::getManagedObjects
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:382,1
    - Dst: std::string::c_str
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:383,1
    - Dst: ObjectValueTree::merge
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:388,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:394,1
    - Dst: std::chrono::steady_clock::now
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:404,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:406,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:407,1
    - Dst: auto::second::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:411,1
    - Dst: auto::second::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:412,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 4
    argNames:
    - ctx
    - sensorConnection
    - sensorPath
    - ' sensorMap'
    argTypes:
    - ipmi::Context::ptr
    - std::string
    - std::string
    - DbusInterfaceMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 335
    functionDepth: 2
    functionLinenumber: 335
    functionLinenumberEnd: 419
    functionName: ipmi::getSensorMap
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp
    functionUses: 8
    functionsReached:
    - find
    - ipmi::getManagedObjects
    - std::chrono::time_point<std::chrono::steady_clock>
    - std::string::c_str
    - "boost::container::flat_map<\n        std::string, std::chrono::time_point<std::chrono::steady_clock>>::find"
    - findStaticSensor
    - auto::second::find
    - getSensorEventTypeFromPath
    - static_cast<uint8_t>
    - end
    - std::chrono::steady_clock::now
    - std::chrono::duration_cast<std::chrono::seconds>
    - ObjectValueTree::merge
    - "boost::container::flat_map<\n        std::string, std::chrono::time_point<std::chrono::steady_clock>>::end"
    - lg2::error
    - auto::second::end
    linkageType: ''
    returnType: bool
    signature: "bool getSensorMap(ipmi::Context::ptr ctx, std::string sensorConnection,\n
      \                        std::string sensorPath, DbusInterfaceMap& sensorMap,\n
      \                        int updatePeriod = sensorMapUpdatePeriod)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:428,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:429,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:430,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:430,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:432,1
    - Dst: std::get_if<std::vector<std::string>>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:437,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:441,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' object'
    argTypes:
    - ipmi::DbusInterfaceMap::mapped_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 445
    functionName: ipmi::sensor::getSupportedVrProfiles
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp
    functionUses: 4
    functionsReached:
    - std::get_if<std::vector<std::string>>
    - lg2::error
    - end
    - find
    linkageType: ''
    returnType: std::optional<std::vector<std::string>>
    signature: "std::optional<std::vector<std::string>> getSupportedVrProfiles(\n
      \   const ipmi::DbusInterfaceMap::mapped_type& object)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::getSupportedVrProfiles
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:452,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:464,1
    - Dst: static_cast<uint16_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:465,1
    - Dst: auto::size
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:475,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:477,1
    - Dst: auto::at
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:481,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - assertOffset
    - ' VRObject'
    argTypes:
    - uint15_t
    - ipmi::DbusInterfaceMap::mapped_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 448
    functionDepth: 1
    functionLinenumber: 448
    functionLinenumberEnd: 482
    functionName: ipmi::sensor::calculateVRMode
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp
    functionUses: 1
    functionsReached:
    - auto::at
    - auto::size
    - ipmi::sensor::getSupportedVrProfiles
    - static_cast<uint16_t>
    - lg2::error
    linkageType: ''
    returnType: std::optional<std::string>
    signature: "std::optional<std::string> calculateVRMode(\n    uint15_t assertOffset,
      const ipmi::DbusInterfaceMap::mapped_type& VRObject)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:489,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:490,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:492,1
    - Dst: getSensorMaxMin
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:498,1
    - Dst: getSensorAttributes
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:506,1
    - Dst: std::pow
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:514,1
    - Dst: std::pow
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:515,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - reading
    - ' sensorMap'
    - ' valueObject'
    argTypes:
    - uint8_t
    - ipmi::DbusInterfaceMap
    - ipmi::DbusInterfaceMap::mapped_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 518
    functionName: ipmi::sensor::calculateValue
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp
    functionUses: 1
    functionsReached:
    - find
    - std::pow
    - getSensorMaxMin
    - end
    - getSensorAttributes
    - lg2::error
    linkageType: ''
    returnType: std::optional<double>
    signature: "std::optional<double> calculateValue(\n    uint8_t reading, const
      ipmi::DbusInterfaceMap& sensorMap,\n    const ipmi::DbusInterfaceMap::mapped_type&
      valueObject)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rfind
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:525,1
    - Dst: substr
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:528,1
    - Dst: std::string::size
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:531,1
    - Dst: std::string::ends_with
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:536,1
    - Dst: boost::replace_all
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:538,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:545,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:546,1
    - Dst: boost::replace_all
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:549,1
    - Dst: std::string::size
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:554,1
    - Dst: std::string::resize
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:556,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 560
    functionName: ipmi::sensor::parseSdrIdFromPath
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp
    functionUses: 4
    functionsReached:
    - std::make_pair
    - std::string::resize
    - boost::replace_all
    - substr
    - rfind
    - std::string::ends_with
    - std::string::size
    linkageType: ''
    returnType: std::string
    signature: std::string parseSdrIdFromPath(const std::string& path)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::getSupportedVrProfiles
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:567,1
    - Dst: getDbusProperty
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:574,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:578,1
    - Dst: auto::message
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:581,1
    - Dst: std::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:585,1
    - Dst: auto::begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:585,1
    - Dst: auto::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:585,1
    - Dst: auto::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:586,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:588,1
    - Dst: static_cast<std::size_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:593,1
    - Dst: std::distance
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:593,1
    - Dst: auto::begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:593,1
    - Dst: set
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:598,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:602,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:609,1
    - Dst: ipmi::sensor::parseSdrIdFromPath
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:610,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 5
    argNames:
    - ctx
    - ' connection'
    - ' path'
    - ' object'
    - ' assertions'
    argTypes:
    - ipmi::Context::ptr
    - std::string
    - std::string
    - ipmi::DbusInterfaceMap::mapped_type
    - std::bitset<16>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 614
    functionName: ipmi::sensor::getVrEventStatus
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp
    functionUses: 1
    functionsReached:
    - getDbusProperty
    - std::find
    - auto::end
    - auto::message
    - ipmi::sensor::parseSdrIdFromPath
    - auto::begin
    - std::distance
    - set
    - ipmi::sensor::getSupportedVrProfiles
    - lg2::error
    - static_cast<std::size_t>
    linkageType: ''
    returnType: bool
    signature: "bool getVrEventStatus(ipmi::Context::ptr ctx, const std::string& connection,\n
      \                     const std::string& path,\n                      const
      ipmi::DbusInterfaceMap::mapped_type& object,\n                      std::bitset<16>&
      assertions)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::storage::getFruSdrCount
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:642,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:645,1
    - Dst: std::numeric_limits<size_t>::max
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:646,1
    - Dst: ipmi::sensor::EntityInfoMapContainer::getContainer
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:650,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:652,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - ipmi::Context::ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 638
    functionDepth: 1
    functionLinenumber: 638
    functionLinenumberEnd: 655
    functionName: ipmi::sensor::getOtherSensorsCount
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp
    functionUses: 5
    functionsReached:
    - ipmi::storage::getFruSdrCount
    - size
    - ipmi::sensor::EntityInfoMapContainer::getContainer
    - std::numeric_limits<size_t>::max
    - lg2::error
    linkageType: ''
    returnType: size_t
    signature: size_t getOtherSensorsCount(ipmi::Context::ptr ctx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::getOtherSensorsCount
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:663,1
    - Dst: std::numeric_limits<size_t>::max
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:664,1
    - Dst: ipmi::sensor::EntityInfoMapContainer::getContainer
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:669,1
    - Dst: ipmi::getNumberOfSensors
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:672,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:673,1
    - Dst: std::numeric_limits<int>::min
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:678,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:684,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:684,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:687,1
    - Dst: ipmi::storage::getType8SDRs
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:691,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:699,1
    - Dst: ipmi::storage::getType12SDRs
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:702,1
    - Dst: ipmi::storage::getFruSdrs
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:708,1
    - Dst: insert
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:714,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:714,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:714,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:715,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 3
    argNames:
    - ctx
    - recordID
    - ' recordData'
    argTypes:
    - ipmi::Context::ptr
    - uint16_t
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 660
    functionDepth: 2
    functionLinenumber: 660
    functionLinenumberEnd: 719
    functionName: ipmi::sensor::getOtherSensorsDataRecord
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp
    functionUses: 1
    functionsReached:
    - ipmi::storage::getType12SDRs
    - insert
    - ipmi::storage::getType8SDRs
    - ipmi::getNumberOfSensors
    - size
    - reinterpret_cast<uint8_t*>
    - ipmi::sensor::EntityInfoMapContainer::getContainer
    - ipmi::sensor::getOtherSensorsCount
    - std::numeric_limits<size_t>::max
    - static_cast<uint8_t>
    - end
    - find
    - ipmi::storage::getFruSdrs
    - lg2::error
    - std::numeric_limits<int>::min
    linkageType: ''
    returnType: int
    signature: "int getOtherSensorsDataRecord(ipmi::Context::ptr ctx, uint16_t recordID,\n
      \                             std::vector<uint8_t>& recordData)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:428,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:429,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:430,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:430,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:432,1
    - Dst: std::get_if<std::vector<std::string>>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:437,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:441,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' object'
    argTypes:
    - ipmi::DbusInterfaceMap::mapped_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 445
    functionName: ipmi::sensor::getSupportedVrProfiles
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp
    functionUses: 6
    functionsReached:
    - std::get_if<std::vector<std::string>>
    - lg2::error
    - end
    - find
    linkageType: ''
    returnType: std::optional<std::vector<std::string>>
    signature: "std::optional<std::vector<std::string>> getSupportedVrProfiles(\n
      \   const ipmi::DbusInterfaceMap::mapped_type& object)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::getSupportedVrProfiles
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:452,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:464,1
    - Dst: static_cast<uint16_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:465,1
    - Dst: auto::size
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:475,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:477,1
    - Dst: auto::at
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:481,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - assertOffset
    - ' VRObject'
    argTypes:
    - uint15_t
    - ipmi::DbusInterfaceMap::mapped_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 448
    functionDepth: 1
    functionLinenumber: 448
    functionLinenumberEnd: 482
    functionName: ipmi::sensor::calculateVRMode
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp
    functionUses: 1
    functionsReached:
    - auto::at
    - auto::size
    - ipmi::sensor::getSupportedVrProfiles
    - static_cast<uint16_t>
    - lg2::error
    linkageType: ''
    returnType: std::optional<std::string>
    signature: "std::optional<std::string> calculateVRMode(\n    uint15_t assertOffset,
      const ipmi::DbusInterfaceMap::mapped_type& VRObject)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:489,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:490,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:492,1
    - Dst: getSensorMaxMin
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:498,1
    - Dst: getSensorAttributes
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:506,1
    - Dst: std::pow
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:514,1
    - Dst: std::pow
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:515,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - reading
    - ' sensorMap'
    - ' valueObject'
    argTypes:
    - uint8_t
    - ipmi::DbusInterfaceMap
    - ipmi::DbusInterfaceMap::mapped_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 518
    functionName: ipmi::sensor::calculateValue
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp
    functionUses: 1
    functionsReached:
    - find
    - std::pow
    - getSensorMaxMin
    - end
    - getSensorAttributes
    - lg2::error
    linkageType: ''
    returnType: std::optional<double>
    signature: "std::optional<double> calculateValue(\n    uint8_t reading, const
      ipmi::DbusInterfaceMap& sensorMap,\n    const ipmi::DbusInterfaceMap::mapped_type&
      valueObject)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rfind
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:525,1
    - Dst: substr
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:528,1
    - Dst: std::string::size
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:531,1
    - Dst: std::string::ends_with
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:536,1
    - Dst: boost::replace_all
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:538,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:545,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:546,1
    - Dst: boost::replace_all
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:549,1
    - Dst: std::string::size
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:554,1
    - Dst: std::string::resize
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:556,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 560
    functionName: ipmi::sensor::parseSdrIdFromPath
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp
    functionUses: 5
    functionsReached:
    - std::make_pair
    - std::string::resize
    - boost::replace_all
    - substr
    - rfind
    - std::string::ends_with
    - std::string::size
    linkageType: ''
    returnType: std::string
    signature: std::string parseSdrIdFromPath(const std::string& path)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::getSupportedVrProfiles
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:567,1
    - Dst: getDbusProperty
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:574,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:578,1
    - Dst: auto::message
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:581,1
    - Dst: std::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:585,1
    - Dst: auto::begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:585,1
    - Dst: auto::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:585,1
    - Dst: auto::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:586,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:588,1
    - Dst: static_cast<std::size_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:593,1
    - Dst: std::distance
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:593,1
    - Dst: auto::begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:593,1
    - Dst: set
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:598,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:602,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:609,1
    - Dst: ipmi::sensor::parseSdrIdFromPath
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:610,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 5
    argNames:
    - ctx
    - ' connection'
    - ' path'
    - ' object'
    - ' assertions'
    argTypes:
    - ipmi::Context::ptr
    - std::string
    - std::string
    - ipmi::DbusInterfaceMap::mapped_type
    - std::bitset<16>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 614
    functionName: ipmi::sensor::getVrEventStatus
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp
    functionUses: 1
    functionsReached:
    - getDbusProperty
    - std::find
    - auto::end
    - auto::message
    - ipmi::sensor::parseSdrIdFromPath
    - auto::begin
    - std::distance
    - set
    - ipmi::sensor::getSupportedVrProfiles
    - lg2::error
    - static_cast<std::size_t>
    linkageType: ''
    returnType: bool
    signature: "bool getVrEventStatus(ipmi::Context::ptr ctx, const std::string& connection,\n
      \                     const std::string& path,\n                      const
      ipmi::DbusInterfaceMap::mapped_type& object,\n                      std::bitset<16>&
      assertions)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::storage::getFruSdrCount
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:642,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:645,1
    - Dst: std::numeric_limits<size_t>::max
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:646,1
    - Dst: ipmi::sensor::EntityInfoMapContainer::getContainer
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:650,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:652,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - ipmi::Context::ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 638
    functionDepth: 1
    functionLinenumber: 638
    functionLinenumberEnd: 655
    functionName: ipmi::sensor::getOtherSensorsCount
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp
    functionUses: 6
    functionsReached:
    - ipmi::storage::getFruSdrCount
    - size
    - ipmi::sensor::EntityInfoMapContainer::getContainer
    - std::numeric_limits<size_t>::max
    - lg2::error
    linkageType: ''
    returnType: size_t
    signature: size_t getOtherSensorsCount(ipmi::Context::ptr ctx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::sensor::getOtherSensorsCount
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:663,1
    - Dst: std::numeric_limits<size_t>::max
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:664,1
    - Dst: ipmi::sensor::EntityInfoMapContainer::getContainer
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:669,1
    - Dst: ipmi::getNumberOfSensors
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:672,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:673,1
    - Dst: std::numeric_limits<int>::min
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:678,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:684,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:684,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:687,1
    - Dst: ipmi::storage::getType8SDRs
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:691,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:699,1
    - Dst: ipmi::storage::getType12SDRs
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:702,1
    - Dst: ipmi::storage::getFruSdrs
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:708,1
    - Dst: insert
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:714,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:714,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:714,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:715,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 3
    argNames:
    - ctx
    - recordID
    - ' recordData'
    argTypes:
    - ipmi::Context::ptr
    - uint16_t
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 660
    functionDepth: 2
    functionLinenumber: 660
    functionLinenumberEnd: 719
    functionName: ipmi::sensor::getOtherSensorsDataRecord
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp
    functionUses: 1
    functionsReached:
    - ipmi::storage::getType12SDRs
    - insert
    - ipmi::storage::getType8SDRs
    - ipmi::getNumberOfSensors
    - size
    - reinterpret_cast<uint8_t*>
    - ipmi::sensor::EntityInfoMapContainer::getContainer
    - ipmi::sensor::getOtherSensorsCount
    - std::numeric_limits<size_t>::max
    - static_cast<uint8_t>
    - end
    - find
    - ipmi::storage::getFruSdrs
    - lg2::error
    - std::numeric_limits<int>::min
    linkageType: ''
    returnType: int
    signature: "int getOtherSensorsDataRecord(ipmi::Context::ptr ctx, uint16_t recordID,\n
      \                             std::vector<uint8_t>& recordData)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getChannelInfo
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:741,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:743,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:745,1
    - Dst: static_cast<ipmi::EChannelMediumType>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:748,1
    - Dst: unpack
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:751,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:756,1
    - Dst: unpack
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:766,1
    - Dst: fullyUnpacked
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:775,1
    - Dst: ipmi::responseReqDataLenInvalid
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:777,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:783,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:787,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:790,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - ctx
    - ' p'
    argTypes:
    - ipmi::Context::ptr
    - ipmi::message::Payload
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 723
    functionDepth: 1
    functionLinenumber: 723
    functionLinenumberEnd: 791
    functionName: ipmi::ipmiSenPlatformEvent
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp
    functionUses: 0
    functionsReached:
    - ipmi::responseSuccess
    - ipmi::responseUnspecifiedError
    - unpack
    - ipmi::getChannelInfo
    - ipmi::responseReqDataLenInvalid
    - static_cast<ipmi::EChannelMediumType>
    - ipmi::responseInvalidFieldRequest
    - fullyUnpacked
    - lg2::error
    linkageType: ''
    returnType: ipmi::RspType<>
    signature: "ipmi::RspType<> ipmiSenPlatformEvent(ipmi::Context::ptr ctx,\n                                     ipmi::message::Payload&
      p)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getSensorConnection
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:802,1
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:805,1
    - Dst: std::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:809,1
    - Dst: std::vector::begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:809,1
    - Dst: std::vector::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:809,1
    - Dst: std::vector::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:810,1
    - Dst: ipmi::getSensorMap
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:813,1
    - Dst: ipmi::responseResponseError
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:815,1
    - Dst: DbusInterfaceMap::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:817,1
    - Dst: DbusInterfaceMap::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:818,1
    - Dst: ipmi::responseResponseError
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:820,1
    - Dst: getWritePermission
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:824,1
    - Dst: ipmi::responseResponseError
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:827,1
    - Dst: ipmi::sensor::calculateValue
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:831,1
    - Dst: ipmi::responseResponseError
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:834,1
    - Dst: lg2::info
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:839,1
    - Dst: ipmi::setDbusProperty
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:845,1
    - Dst: testValue
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:847,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:854,1
    - Dst: boost::system::error_code::message
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:857,1
    - Dst: ipmi::responseResponseError
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:858,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:860,1
    - Dst: std::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:863,1
    - Dst: std::vector::begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:863,1
    - Dst: std::vector::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:863,1
    - Dst: std::vector::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:864,1
    - Dst: ipmi::getSensorMap
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:867,1
    - Dst: ipmi::responseResponseError
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:869,1
    - Dst: DbusInterfaceMap::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:871,1
    - Dst: DbusInterfaceMap::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:872,1
    - Dst: ipmi::responseResponseError
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:874,1
    - Dst: ipmi::sensor::calculateVRMode
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:881,1
    - Dst: ipmi::responseResponseError
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:884,1
    - Dst: ipmi::setDbusProperty
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:886,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:893,1
    - Dst: boost::system::error_code::message
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:896,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:898,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:901,1
    - Dst: ipmi::responseResponseError
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:902,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 4
    argNames:
    - ctx
    - sensorNumber
    - reading
    - assertOffset
    argTypes:
    - ipmi::Context::ptr
    - uint8_t
    - uint8_t
    - uint15_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 903
      start: 793
    functionDepth: 5
    functionLinenumber: 793
    functionLinenumberEnd: 903
    functionName: ipmi::ipmiSetSensorReading
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp
    functionUses: 0
    functionsReached:
    - ipmi::responseResponseError
    - ipmi::sensor::calculateValue
    - ipmi::setDbusProperty
    - std::vector::begin
    - ipmi::responseSuccess
    - std::find
    - boost::system::error_code::message
    - lg2::error
    - ipmi::getSensorMap
    - ipmi::sensor::calculateVRMode
    - DbusInterfaceMap::end
    - DbusInterfaceMap::find
    - getWritePermission
    - lg2::info
    - ipmi::response
    - testValue
    - std::vector::end
    - ipmi::getSensorConnection
    linkageType: ''
    returnType: ipmi::RspType<>
    signature: "ipmi::RspType<> ipmiSetSensorReading(\n    ipmi::Context::ptr ctx,
      uint8_t sensorNumber, uint8_t, uint8_t reading,\n    uint15_t assertOffset,
      bool, uint15_t, bool, uint8_t, uint8_t, uint8_t)"
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:913,1
    - Dst: ipmi::getSensorConnection
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:916,1
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:919,1
    - Dst: findStaticSensor
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:923,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:924,1
    - Dst: getSensorEventTypeFromPath
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:925,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:926,1
    - Dst: ipmi::responseIllegalCommand
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:931,1
    - Dst: auto::second::getFunc
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:938,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:942,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:947,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:952,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:955,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:962,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:964,1
    - Dst: ipmi::getSensorMap
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:970,1
    - Dst: ipmi::responseResponseError
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:972,1
    - Dst: DbusInterfaceMap::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:974,1
    - Dst: DbusInterfaceMap::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:976,1
    - Dst: auto::second::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:977,1
    - Dst: auto::second::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:978,1
    - Dst: ipmi::responseResponseError
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:980,1
    - Dst: std::visit
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:984,1
    - Dst: VariantToDoubleVisitor
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:984,1
    - Dst: ipmi::getSensorMaxMin
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:988,1
    - Dst: ipmi::getSensorAttributes
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:996,1
    - Dst: ipmi::responseResponseError
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:998,1
    - Dst: ipmi::scaleIPMIValueFromDouble
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1002,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1004,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1006,1
    - Dst: std::isnan
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1007,1
    - Dst: DbusInterfaceMap::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1012,1
    - Dst: DbusInterfaceMap::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1013,1
    - Dst: auto::second::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1015,1
    - Dst: auto::second::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1016,1
    - Dst: std::get_if<bool>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1018,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1029,1
    - Dst: static_cast<int>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1038,1
    - Dst: static_cast<int8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1038,1
    - Dst: static_cast<int>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1042,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1042,1
    - Dst: updateReading
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1046,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1051,1
    - Dst: getName
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1056,1
    - Dst: DbusInterfaceMap::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1064,1
    - Dst: DbusInterfaceMap::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1065,1
    - Dst: auto::second::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1067,1
    - Dst: auto::second::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1069,1
    - Dst: auto::second::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1071,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1073,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1075,1
    - Dst: auto::second::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1079,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1081,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1083,1
    - Dst: DbusInterfaceMap::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1089,1
    - Dst: DbusInterfaceMap::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1090,1
    - Dst: auto::second::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1092,1
    - Dst: auto::second::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1094,1
    - Dst: auto::second::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1096,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1098,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1101,1
    - Dst: auto::second::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1104,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1106,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1109,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1115,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 86
    argCount: 2
    argNames:
    - ctx
    - sensnum
    argTypes:
    - ipmi::Context::ptr
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1116
      start: 905
    functionDepth: 5
    functionLinenumber: 905
    functionLinenumberEnd: 1116
    functionName: ipmi::ipmiSenGetSensorReading
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp
    functionUses: 0
    functionsReached:
    - ipmi::responseSuccess
    - std::isnan
    - getName
    - findStaticSensor
    - ipmi::getSensorMap
    - DbusInterfaceMap::end
    - static_cast<uint8_t>
    - VariantToDoubleVisitor
    - ipmi::response
    - static_cast<int8_t>
    - ipmi::responseResponseError
    - static_cast<int>
    - getSensorEventTypeFromPath
    - end
    - ipmi::getSensorAttributes
    - ipmi::getSensorConnection
    - ipmi::scaleIPMIValueFromDouble
    - std::get_if<bool>
    - auto::second::find
    - ipmi::responseInvalidFieldRequest
    - ipmi::responseIllegalCommand
    - DbusInterfaceMap::find
    - updateReading
    - auto::second::end
    - lg2::error
    - ipmi::getSensorMaxMin
    - std::get<bool>
    - std::visit
    - auto::second::getFunc
    linkageType: ''
    returnType: ipmi::RspType<uint8_t, uint8_t, uint8_t, std::optional<uint8_t>>
    signature: ipmi::RspType<uint8_t, uint8_t, uint8_t, std::optional<uint8_t>> ipmiSenGetSensorReading(ipmi::Context::ptr
      ctx, uint8_t sensnum)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1147,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1153,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1161,1
    - Dst: ipmi::getSensorConnection
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1167,1
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1170,1
    - Dst: ipmi::getSensorMap
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1173,1
    - Dst: ipmi::responseResponseError
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1175,1
    - Dst: ipmi::getSensorMaxMin
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1180,1
    - Dst: ipmi::getSensorAttributes
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1188,1
    - Dst: ipmi::responseResponseError
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1190,1
    - Dst: DbusInterfaceMap::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1203,1
    - Dst: DbusInterfaceMap::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1204,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1206,1
    - Dst: auto::second::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1210,1
    - Dst: auto::second::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1212,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1214,1
    - Dst: std::vector::emplace_back
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1216,1
    - Dst: auto::second::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1222,1
    - Dst: auto::second::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1224,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1226,1
    - Dst: std::vector::emplace_back
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1228,1
    - Dst: DbusInterfaceMap::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1235,1
    - Dst: DbusInterfaceMap::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1236,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1238,1
    - Dst: auto::second::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1242,1
    - Dst: auto::second::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1244,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1246,1
    - Dst: std::vector::emplace_back
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1248,1
    - Dst: auto::second::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1254,1
    - Dst: auto::second::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1256,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1258,1
    - Dst: std::vector::emplace_back
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1260,1
    - Dst: std::get<thresholdValue>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1268,1
    - Dst: std::pow
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1269,1
    - Dst: std::pow
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1270,1
    - Dst: ipmi::setDbusProperty
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1271,1
    - Dst: getSdBus
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1272,1
    - Dst: std::get<interface>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1272,1
    - Dst: std::get<propertyName>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1273,1
    - Dst: testValue
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1273,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1275,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 57
    argCount: 15
    argNames:
    - ctx
    - sensorNum
    - lowerNonCriticalThreshMask
    - lowerCriticalThreshMask
    - lowerNonRecovThreshMask
    - upperNonCriticalThreshMask
    - upperCriticalThreshMask
    - upperNonRecovThreshMask
    - reserved
    - lowerNonCritical
    - lowerCritical
    - lowerNonRecoverable
    - upperNonCritical
    - upperCritical
    - upperNonRecoverable
    argTypes:
    - ipmi::Context::ptr
    - uint8_t
    - bool
    - bool
    - bool
    - bool
    - bool
    - bool
    - uint2_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1276
      start: 1136
    functionDepth: 5
    functionLinenumber: 1136
    functionLinenumberEnd: 1276
    functionName: ipmi::ipmiSenSetSensorThresholds
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp
    functionUses: 0
    functionsReached:
    - ipmi::responseSuccess
    - ipmi::getSensorMap
    - getSdBus
    - DbusInterfaceMap::end
    - std::vector::emplace_back
    - ipmi::response
    - ipmi::responseResponseError
    - std::get<interface>
    - ipmi::getSensorAttributes
    - ipmi::getSensorConnection
    - ipmi::setDbusProperty
    - std::pow
    - auto::second::find
    - ipmi::responseInvalidFieldRequest
    - DbusInterfaceMap::find
    - auto::second::end
    - ipmi::getSensorMaxMin
    - std::get<thresholdValue>
    - std::get<propertyName>
    - testValue
    linkageType: ''
    returnType: ipmi::RspType<>
    signature: "ipmi::RspType<> ipmiSenSetSensorThresholds(\n    ipmi::Context::ptr
      ctx, uint8_t sensorNum, bool lowerNonCriticalThreshMask,\n    bool lowerCriticalThreshMask,
      bool lowerNonRecovThreshMask,\n    bool upperNonCriticalThreshMask, bool upperCriticalThreshMask,\n
      \   bool upperNonRecovThreshMask, uint2_t reserved, uint8_t lowerNonCritical,\n
      \   uint8_t lowerCritical, [[maybe_unused]] uint8_t lowerNonRecoverable,\n    uint8_t
      upperNonCritical, uint8_t upperCritical,\n    [[maybe_unused]] uint8_t upperNonRecoverable)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1281,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1282,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1284,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1285,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1287,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1289,1
    - Dst: std::runtime_error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1293,1
    - Dst: ipmi::getSensorMaxMin
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1298,1
    - Dst: ipmi::getSensorAttributes
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1306,1
    - Dst: std::runtime_error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1308,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1310,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1314,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1316,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1319,1
    - Dst: std::visit
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1322,1
    - Dst: VariantToDoubleVisitor
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1322,1
    - Dst: std::isfinite
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1323,1
    - Dst: ipmi::scaleIPMIValueFromDouble
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1325,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1329,1
    - Dst: std::visit
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1332,1
    - Dst: VariantToDoubleVisitor
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1332,1
    - Dst: std::isfinite
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1333,1
    - Dst: ipmi::scaleIPMIValueFromDouble
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1335,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1340,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1344,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1346,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1349,1
    - Dst: std::visit
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1352,1
    - Dst: VariantToDoubleVisitor
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1352,1
    - Dst: std::isfinite
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1353,1
    - Dst: ipmi::scaleIPMIValueFromDouble
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1355,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1359,1
    - Dst: std::visit
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1362,1
    - Dst: VariantToDoubleVisitor
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1362,1
    - Dst: std::isfinite
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1363,1
    - Dst: ipmi::scaleIPMIValueFromDouble
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1365,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 35
    argCount: 1
    argNames:
    - ' sensorMap'
    argTypes:
    - DbusInterfaceMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1372
      start: 1278
    functionDepth: 3
    functionLinenumber: 1278
    functionLinenumberEnd: 1372
    functionName: ipmi::getIPMIThresholds
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp
    functionUses: 2
    functionsReached:
    - ipmi::getSensorMaxMin
    - ipmi::scaleIPMIValueFromDouble
    - std::visit
    - std::runtime_error
    - end
    - VariantToDoubleVisitor
    - find
    - ipmi::getSensorAttributes
    - std::isfinite
    linkageType: ''
    returnType: IPMIThresholds
    signature: IPMIThresholds getIPMIThresholds(const DbusInterfaceMap& sensorMap)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1388,1
    - Dst: ipmi::getSensorConnection
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1391,1
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1394,1
    - Dst: ipmi::getSensorMap
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1398,1
    - Dst: ipmi::responseResponseError
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1400,1
    - Dst: ipmi::getIPMIThresholds
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1406,1
    - Dst: ipmi::responseResponseError
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1410,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1424,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1430,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1437,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1443,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1447,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 2
    argNames:
    - ctx
    - sensorNumber
    argTypes:
    - ipmi::Context::ptr
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1450
      start: 1374
    functionDepth: 5
    functionLinenumber: 1374
    functionLinenumberEnd: 1450
    functionName: ipmi::ipmiSenGetSensorThresholds
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp
    functionUses: 0
    functionsReached:
    - ipmi::responseResponseError
    - ipmi::getIPMIThresholds
    - ipmi::responseSuccess
    - ipmi::getSensorMap
    - ipmi::responseInvalidFieldRequest
    - static_cast<uint8_t>
    - ipmi::response
    - ipmi::getSensorConnection
    linkageType: ''
    returnType: "ipmi::RspType<uint8_t, // readable\n              uint8_t, // lowerNCrit\n
      \             uint8_t, // lowerCrit\n              uint8_t, // lowerNrecoverable\n
      \             uint8_t, // upperNC\n              uint8_t, // upperCrit\n              uint8_t>"
    signature: "ipmi::RspType<uint8_t, // readable\n              uint8_t, // lowerNCrit\n
      \             uint8_t, // lowerCrit\n              uint8_t, // lowerNrecoverable\n
      \             uint8_t, // upperNC\n              uint8_t, // upperCrit\n              uint8_t>
      ipmiSenGetSensorThresholds(ipmi::Context::ptr ctx, uint8_t sensorNumber)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1481,1
    - Dst: ipmi::getSensorConnection
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1484,1
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1487,1
    - Dst: findStaticSensor
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1491,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1492,1
    - Dst: getSensorEventTypeFromPath
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1493,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1494,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1496,1
    - Dst: auto::second::propertyInterfaces::begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1499,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1499,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1505,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1507,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1509,1
    - Dst: ipmi::getSensorMap
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1516,1
    - Dst: ipmi::responseResponseError
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1518,1
    - Dst: DbusInterfaceMap::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1521,1
    - Dst: DbusInterfaceMap::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1522,1
    - Dst: DbusInterfaceMap::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1523,1
    - Dst: DbusInterfaceMap::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1524,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1526,1
    - Dst: DbusInterfaceMap::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1528,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1532,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1534,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1536,1
    - Dst: std::visit
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1539,1
    - Dst: VariantToDoubleVisitor
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1539,1
    - Dst: std::isfinite
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1540,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1542,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1545,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1550,1
    - Dst: std::visit
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1553,1
    - Dst: VariantToDoubleVisitor
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1553,1
    - Dst: std::isfinite
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1554,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1556,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1559,1
    - Dst: DbusInterfaceMap::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1565,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1569,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1571,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1574,1
    - Dst: std::visit
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1577,1
    - Dst: VariantToDoubleVisitor
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1577,1
    - Dst: std::isfinite
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1578,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1580,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1583,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1587,1
    - Dst: std::visit
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1590,1
    - Dst: VariantToDoubleVisitor
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1590,1
    - Dst: std::isfinite
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1591,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1593,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1595,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1603,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 51
    argCount: 2
    argNames:
    - ctx
    - sensorNum
    argTypes:
    - ipmi::Context::ptr
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1606
      start: 1463
    functionDepth: 5
    functionLinenumber: 1463
    functionLinenumberEnd: 1606
    functionName: ipmi::ipmiSenGetSensorEventEnable
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp
    functionUses: 0
    functionsReached:
    - auto::second::propertyInterfaces::begin
    - ipmi::responseResponseError
    - ipmi::responseSuccess
    - find
    - std::visit
    - findStaticSensor
    - ipmi::getSensorMap
    - DbusInterfaceMap::end
    - ipmi::responseInvalidFieldRequest
    - getSensorEventTypeFromPath
    - end
    - static_cast<uint8_t>
    - begin
    - DbusInterfaceMap::find
    - VariantToDoubleVisitor
    - std::isfinite
    - ipmi::response
    - ipmi::getSensorConnection
    linkageType: ''
    returnType: "ipmi::RspType<uint8_t, // enabled\n              uint8_t, // assertionEnabledLsb\n
      \             uint8_t, // assertionEnabledMsb\n              uint8_t, // deassertionEnabledLsb\n
      \             uint8_t>"
    signature: "ipmi::RspType<uint8_t, // enabled\n              uint8_t, // assertionEnabledLsb\n
      \             uint8_t, // assertionEnabledMsb\n              uint8_t, // deassertionEnabledLsb\n
      \             uint8_t> ipmiSenGetSensorEventEnable(ipmi::Context::ptr ctx, uint8_t
      sensorNum)"
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1624,1
    - Dst: ipmi::getSensorConnection
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1629,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1632,1
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1635,1
    - Dst: findStaticSensor
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1639,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1640,1
    - Dst: getSensorEventTypeFromPath
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1641,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1642,1
    - Dst: ipmi::sensor::get::mapDbusToAssertion
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1644,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1652,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1657,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1662,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1667,1
    - Dst: ipmi::getSensorMap
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1673,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1675,1
    - Dst: ipmi::responseResponseError
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1678,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1682,1
    - Dst: DbusInterfaceMap::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1687,1
    - Dst: DbusInterfaceMap::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1688,1
    - Dst: ipmi::sensor::getVrEventStatus
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1690,1
    - Dst: ipmi::responseResponseError
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1693,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1698,1
    - Dst: DbusInterfaceMap::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1702,1
    - Dst: DbusInterfaceMap::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1703,1
    - Dst: std::bitset::set
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1716,1
    - Dst: static_cast<size_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1716,1
    - Dst: std::bitset::set
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1721,1
    - Dst: static_cast<size_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1721,1
    - Dst: std::bitset::set
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1726,1
    - Dst: static_cast<size_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1726,1
    - Dst: std::bitset::set
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1731,1
    - Dst: static_cast<size_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1731,1
    - Dst: DbusInterfaceMap::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1734,1
    - Dst: DbusInterfaceMap::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1735,1
    - Dst: static_cast<size_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1737,1
    - Dst: DbusInterfaceMap::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1739,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1743,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1745,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1750,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1752,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1754,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1756,1
    - Dst: std::bitset::set
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1760,1
    - Dst: static_cast<size_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1760,1
    - Dst: std::bitset::set
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1766,1
    - Dst: static_cast<size_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1766,1
    - Dst: DbusInterfaceMap::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1771,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1775,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1777,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1782,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1784,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1786,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1788,1
    - Dst: std::bitset::set
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1792,1
    - Dst: static_cast<size_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1792,1
    - Dst: std::bitset::set
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1798,1
    - Dst: static_cast<size_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1798,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1804,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 78
    argCount: 2
    argNames:
    - ctx
    - sensorNum
    argTypes:
    - ipmi::Context::ptr
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1805
      start: 1616
    functionDepth: 5
    functionLinenumber: 1616
    functionLinenumberEnd: 1805
    functionName: ipmi::ipmiSenGetSensorEventStatus
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - ipmi::responseSuccess
    - findStaticSensor
    - ipmi::getSensorMap
    - DbusInterfaceMap::end
    - static_cast<uint8_t>
    - find
    - std::bitset::set
    - ipmi::response
    - ipmi::responseResponseError
    - getSensorEventTypeFromPath
    - end
    - ipmi::getSensorConnection
    - ipmi::sensor::get::mapDbusToAssertion
    - ipmi::responseInvalidFieldRequest
    - DbusInterfaceMap::find
    - lg2::error
    - ipmi::sensor::getVrEventStatus
    - std::get<bool>
    linkageType: ''
    returnType: "ipmi::RspType<uint8_t,         // sensorEventStatus\n              std::bitset<16>,
      // assertions\n              std::bitset<16>  // deassertion\n              >"
    signature: "ipmi::RspType<uint8_t,         // sensorEventStatus\n              std::bitset<16>,
      // assertions\n              std::bitset<16>  // deassertion\n              >
      ipmiSenGetSensorEventStatus(ipmi::Context::ptr ctx, uint8_t sensorNum)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1811,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1812,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - sensorNum
    - recordID
    - ' record'
    argTypes:
    - uint16_t
    - uint16_t
    - get_sdr::SensorDataFullRecord
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1822
      start: 1808
    functionDepth: 0
    functionLinenumber: 1808
    functionLinenumberEnd: 1822
    functionName: ipmi::constructSensorSdrHeaderKey
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp
    functionUses: 3
    functionsReached:
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: "void constructSensorSdrHeaderKey(uint16_t sensorNum, uint16_t recordID,\n
      \                                get_sdr::SensorDataFullRecord& record)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::constructSensorSdrHeaderKey
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1829,1
    - Dst: ipmi::getSensorMap
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1832,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1834,1
    - Dst: getSensorTypeFromPath
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1841,1
    - Dst: getSensorTypeStringFromPath
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1842,1
    - Dst: std::string::c_str
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1843,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1844,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1845,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1847,1
    - Dst: getSensorEventTypeFromPath
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1850,1
    - Dst: DbusInterfaceMap::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1852,1
    - Dst: DbusInterfaceMap::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1853,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1855,1
    - Dst: ipmi::updateIpmiFromAssociation
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1864,1
    - Dst: ipmi::getSensorMaxMin
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1872,1
    - Dst: ipmi::getSensorAttributes
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1880,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1882,1
    - Dst: ipmi::sensor::parseSdrIdFromPath
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1937,1
    - Dst: get_sdr::body::setIdStrLen
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1938,1
    - Dst: auto::size
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1938,1
    - Dst: get_sdr::body::setIdType
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1939,1
    - Dst: std::memcpy
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1940,1
    - Dst: auto::c_str
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1940,1
    - Dst: std::min
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1941,1
    - Dst: auto::length
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1941,1
    - Dst: updateName
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1944,1
    - Dst: DbusInterfaceMap::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1948,1
    - Dst: DbusInterfaceMap::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1949,1
    - Dst: ipmi::mappedVariant
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1952,1
    - Dst: get_sdr::body::initSettableState
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1954,1
    - Dst: setWritePermission
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1957,1
    - Dst: ipmi::getIPMIThresholds
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1962,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1966,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1973,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1975,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1977,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1980,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1985,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1987,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1989,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1992,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1997,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:1999,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2001,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2004,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2009,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2011,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2013,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2016,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 75
    argCount: 7
    argNames:
    - ctx
    - ' ipmiDecoratorPaths'
    - sensorNum
    - recordID
    - ' service'
    - ' path'
    - ' record'
    argTypes:
    - ipmi::Context::ptr
    - std::unordered_set<std::string>
    - uint16_t
    - uint16_t
    - std::string
    - std::string
    - get_sdr::SensorDataFullRecord
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2023
      start: 1823
    functionDepth: 4
    functionLinenumber: 1823
    functionLinenumberEnd: 2023
    functionName: ipmi::constructSensorSdr
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp
    functionUses: 1
    functionsReached:
    - ipmi::updateIpmiFromAssociation
    - auto::c_str
    - ipmi::getSensorMap
    - DbusInterfaceMap::end
    - static_cast<uint8_t>
    - find
    - ipmi::getIPMIThresholds
    - get_sdr::body::setIdStrLen
    - std::min
    - ipmi::mappedVariant
    - getSensorEventTypeFromPath
    - end
    - setWritePermission
    - ipmi::getSensorAttributes
    - std::memcpy
    - auto::length
    - updateName
    - ipmi::constructSensorSdrHeaderKey
    - getSensorTypeFromPath
    - ipmi::sensor::parseSdrIdFromPath
    - DbusInterfaceMap::find
    - lg2::error
    - ipmi::getSensorMaxMin
    - getSensorTypeStringFromPath
    - get_sdr::body::setIdType
    - std::string::c_str
    - get_sdr::body::initSettableState
    - auto::size
    linkageType: ''
    returnType: bool
    signature: "bool constructSensorSdr(\n    ipmi::Context::ptr ctx,\n    const std::unordered_set<std::string>&
      ipmiDecoratorPaths,\n    uint16_t sensorNum, uint16_t recordID, const std::string&
      service,\n    const std::string& path, get_sdr::SensorDataFullRecord& record)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::constructSensorSdrHeaderKey
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2032,1
    - Dst: get_sdr::body::initSettableState
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2041,1
    - Dst: auto::empty
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2046,1
    - Dst: ipmi::sensor::IdInfoMap::const_iterator::second::sensorNameFunc
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2048,1
    - Dst: auto::length
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2051,1
    - Dst: get_sdr::body::setIdStrLen
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2053,1
    - Dst: get_sdr::body::setIdStrLen
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2057,1
    - Dst: auto::length
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2057,1
    - Dst: get_sdr::body::setIdType
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2059,1
    - Dst: std::strncpy
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2060,1
    - Dst: auto::c_str
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2060,1
    - Dst: get_sdr::body::getIdStrLen
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2061,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 4
    argNames:
    - sensorNum
    - recordID
    - sensor
    - ' record'
    argTypes:
    - uint16_t
    - uint16_t
    - ipmi::sensor::IdInfoMap::const_iterator
    - get_sdr::SensorDataFullRecord
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2062
      start: 2027
    functionDepth: 1
    functionLinenumber: 2027
    functionLinenumberEnd: 2062
    functionName: ipmi::constructStaticSensorSdr
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp
    functionUses: 1
    functionsReached:
    - auto::length
    - std::strncpy
    - get_sdr::body::getIdStrLen
    - get_sdr::body::setIdStrLen
    - get_sdr::body::setIdType
    - auto::c_str
    - ipmi::constructSensorSdrHeaderKey
    - auto::empty
    - get_sdr::body::initSettableState
    - ipmi::sensor::IdInfoMap::const_iterator::second::sensorNameFunc
    linkageType: ''
    returnType: void
    signature: "void constructStaticSensorSdr(ipmi::Context::ptr, uint16_t sensorNum,\n
      \                             uint16_t recordID,\n                              ipmi::sensor::IdInfoMap::const_iterator
      sensor,\n                              get_sdr::SensorDataFullRecord& record)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2069,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2070,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - sensorNum
    - recordID
    - ' record'
    argTypes:
    - uint16_t
    - uint16_t
    - get_sdr::SensorDataEventRecord
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2083
      start: 2066
    functionDepth: 0
    functionLinenumber: 2066
    functionLinenumberEnd: 2083
    functionName: ipmi::constructEventSdrHeaderKey
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp
    functionUses: 2
    functionsReached:
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: "void constructEventSdrHeaderKey(uint16_t sensorNum, uint16_t recordID,\n
      \                               get_sdr::SensorDataEventRecord& record)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::constructEventSdrHeaderKey
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2092,1
    - Dst: ipmi::getSensorMap
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2095,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2097,1
    - Dst: ipmi::updateIpmiFromAssociation
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2104,1
    - Dst: ipmi::sensor::parseSdrIdFromPath
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2119,1
    - Dst: std::min
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2120,1
    - Dst: auto::size
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2120,1
    - Dst: get_sdr::body::setIdStrLen
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2121,1
    - Dst: get_sdr::body::setIdType
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2122,1
    - Dst: std::memset
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2123,1
    - Dst: std::memcpy
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2124,1
    - Dst: auto::c_str
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2124,1
    - Dst: updateName
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 7
    argNames:
    - ctx
    - ' ipmiDecoratorPaths'
    - sensorNum
    - recordID
    - ' service'
    - ' path'
    - ' record'
    argTypes:
    - ipmi::Context::ptr
    - std::unordered_set<std::string>
    - uint16_t
    - uint16_t
    - std::string
    - std::string
    - get_sdr::SensorDataEventRecord
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2130
      start: 2086
    functionDepth: 3
    functionLinenumber: 2086
    functionLinenumberEnd: 2130
    functionName: ipmi::constructVrSdr
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp
    functionUses: 1
    functionsReached:
    - ipmi::updateIpmiFromAssociation
    - ipmi::constructEventSdrHeaderKey
    - get_sdr::body::setIdStrLen
    - get_sdr::body::setIdType
    - auto::c_str
    - std::memset
    - updateName
    - std::min
    - ipmi::getSensorMap
    - ipmi::sensor::parseSdrIdFromPath
    - auto::size
    - lg2::error
    - std::memcpy
    linkageType: ''
    returnType: bool
    signature: "bool constructVrSdr(ipmi::Context::ptr ctx,\n                    const
      std::unordered_set<std::string>& ipmiDecoratorPaths,\n                    uint16_t
      sensorNum, uint16_t recordID,\n                    const std::string& service,
      const std::string& path,\n                    get_sdr::SensorDataEventRecord&
      record)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2134,1
    - Dst: ipmi::getSensorTree
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2135
      start: 2132
    functionDepth: 1
    functionLinenumber: 2132
    functionLinenumberEnd: 2135
    functionName: ipmi::getNumberOfSensors
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp
    functionUses: 7
    functionsReached:
    - std::min
    - ipmi::getSensorTree
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t getNumberOfSensors()
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: std::numeric_limits<uint8_t>::max
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2141,1
    - Dst: clear
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2143,1
    - Dst: ipmi::getNumberOfSensors
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2144,1
    - Dst: ipmi::sensor::getOtherSensorsCount
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2145,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2158,1
    - Dst: ipmi::getNumberOfSensors
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2161,1
    - Dst: ipmi::sensor::getOtherSensorsDataRecord
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2163,1
    - Dst: ipmi::getSensorConnection
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2198,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2198,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2202,1
    - Dst: getSensorNumberFromPath
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2205,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2211,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2214,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2215,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2217,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2220,1
    - Dst: std::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2225,1
    - Dst: std::vector::begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2225,1
    - Dst: std::vector::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2225,1
    - Dst: std::vector::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2226,1
    - Dst: ipmi::constructSensorSdrHeaderKey
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2234,1
    - Dst: ipmi::constructSensorSdr
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2236,1
    - Dst: insert
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2242,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2242,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2242,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2243,1
    - Dst: findStaticSensor
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2249,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2250,1
    - Dst: getSensorEventTypeFromPath
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2251,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2252,1
    - Dst: ipmi::constructSensorSdrHeaderKey
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2260,1
    - Dst: ipmi::constructStaticSensorSdr
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2264,1
    - Dst: insert
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2267,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2267,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2267,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2268,1
    - Dst: std::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2275,1
    - Dst: std::vector::begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2275,1
    - Dst: std::vector::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2275,1
    - Dst: std::vector::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2276,1
    - Dst: ipmi::constructEventSdrHeaderKey
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2284,1
    - Dst: ipmi::constructVrSdr
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2286,1
    - Dst: insert
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2291,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2291,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2291,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2292,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 69
    argCount: 4
    argNames:
    - ctx
    - ' ipmiDecoratorPaths'
    - ' recordData'
    - recordID
    argTypes:
    - ipmi::Context::ptr
    - std::unordered_set<std::string>
    - std::vector<uint8_t>
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2296
      start: 2137
    functionDepth: 5
    functionLinenumber: 2137
    functionLinenumberEnd: 2296
    functionName: ipmi::getSensorDataRecord
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp
    functionUses: 1
    functionsReached:
    - insert
    - findStaticSensor
    - ipmi::constructStaticSensorSdr
    - static_cast<uint8_t>
    - clear
    - std::vector::end
    - ipmi::constructEventSdrHeaderKey
    - std::vector::begin
    - ipmi::constructSensorSdr
    - std::find
    - ipmi::getNumberOfSensors
    - getSensorEventTypeFromPath
    - end
    - ipmi::constructVrSdr
    - ipmi::getSensorConnection
    - ipmi::constructSensorSdrHeaderKey
    - reinterpret_cast<uint8_t*>
    - ipmi::sensor::getOtherSensorsCount
    - lg2::error
    - ipmi::sensor::getOtherSensorsDataRecord
    - getSensorNumberFromPath
    - std::numeric_limits<uint8_t>::max
    linkageType: ''
    returnType: int
    signature: "int getSensorDataRecord(\n    ipmi::Context::ptr ctx,\n    const std::unordered_set<std::string>&
      ipmiDecoratorPaths,\n    std::vector<uint8_t>& recordData, uint16_t recordID,\n
      \   uint8_t readBytes = std::numeric_limits<uint8_t>::max())"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getSensorTree
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2313,1
    - Dst: getSensorSubtree
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2320,1
    - Dst: empty
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2320,1
    - Dst: ipmi::responseResponseError
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2322,1
    - Dst: ipmi::getNumberOfSensors
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2324,1
    - Dst: std::optional<uint8_t>::value_or
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2325,1
    - Dst: ipmi::sensor::getOtherSensorsCount
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2327,1
    - Dst: std::optional<uint8_t>::value_or
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2329,1
    - Dst: std::out_of_range
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2352,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2359,1
    - Dst: std::out_of_range
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2377,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2380,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 37
    argCount: 2
    argNames:
    - ctx
    - operation
    argTypes:
    - ipmi::Context::ptr
    - std::optional<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2382
      start: 2306
    functionDepth: 3
    functionLinenumber: 2306
    functionLinenumberEnd: 2382
    functionName: ipmi::ipmiSensorGetDeviceSdrInfo
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp
    functionUses: 0
    functionsReached:
    - ipmi::responseResponseError
    - std::out_of_range
    - ipmi::responseSuccess
    - getSensorSubtree
    - ipmi::getNumberOfSensors
    - std::optional<uint8_t>::value_or
    - ipmi::sensor::getOtherSensorsCount
    - ipmi::responseInvalidFieldRequest
    - empty
    - ipmi::getSensorTree
    linkageType: ''
    returnType: "ipmi::RspType<uint8_t, // respcount\n                     uint8_t,
      // dynamic population flags\n                     uint32_t // last time a sensor
      was added\n                     >"
    signature: "ipmi::RspType<uint8_t, // respcount\n                     uint8_t,
      // dynamic population flags\n                     uint32_t // last time a sensor
      was added\n                     > ipmiSensorGetDeviceSdrInfo(ipmi::Context::ptr
      ctx,\n                               std::optional<uint8_t> operation)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getNumberOfSensors
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2399,1
    - Dst: ipmi::sensor::getOtherSensorsCount
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2399,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2401,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2405,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2406,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - ipmi::Context::ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2411
      start: 2388
    functionDepth: 2
    functionLinenumber: 2388
    functionLinenumberEnd: 2411
    functionName: ipmi::ipmiStorageGetSDRRepositoryInfo
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp
    functionUses: 0
    functionsReached:
    - ipmi::getNumberOfSensors
    - static_cast<uint8_t>
    - ipmi::responseSuccess
    - ipmi::sensor::getOtherSensorsCount
    linkageType: ''
    returnType: "ipmi::RspType<uint8_t,  // sdr version\n              uint16_t, //
      record count\n              uint16_t, // free space\n              uint32_t,
      // most recent addition\n              uint32_t, // most recent erase\n              uint8_t
      \  // operationSupport\n              >"
    signature: "ipmi::RspType<uint8_t,  // sdr version\n              uint16_t, //
      record count\n              uint16_t, // free space\n              uint32_t,
      // most recent addition\n              uint32_t, // most recent erase\n              uint8_t
      \  // operationSupport\n              > ipmiStorageGetSDRRepositoryInfo(ipmi::Context::ptr
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2440
      start: 2422
    functionDepth: 1
    functionLinenumber: 2422
    functionLinenumberEnd: 2440
    functionName: ipmi::ipmiStorageGetSDRAllocationInfo
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp
    functionUses: 0
    functionsReached:
    - ipmi::responseSuccess
    linkageType: ''
    returnType: "ipmi::RspType<uint16_t, // allocUnits\n              uint16_t, //
      allocUnitSize\n              uint16_t, // allocUnitFree\n              uint16_t,
      // allocUnitLargestFree\n              uint8_t   // maxRecordSize\n              >"
    signature: "ipmi::RspType<uint16_t, // allocUnits\n              uint16_t, //
      allocUnitSize\n              uint16_t, // allocUnitFree\n              uint16_t,
      // allocUnitLargestFree\n              uint8_t   // maxRecordSize\n              >
      ipmiStorageGetSDRAllocationInfo()"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2454,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2455
      start: 2446
    functionDepth: 1
    functionLinenumber: 2446
    functionLinenumberEnd: 2455
    functionName: ipmi::ipmiStorageReserveSDR
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp
    functionUses: 0
    functionsReached:
    - ipmi::responseSuccess
    linkageType: ''
    returnType: ipmi::RspType<uint16_t>
    signature: ipmi::RspType<uint16_t> ipmiStorageReserveSDR()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2467,1
    - Dst: ipmi::responseInvalidReservationId
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2468,1
    - Dst: ipmi::getSensorTree
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2471,1
    - Dst: getSensorSubtree
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2472,1
    - Dst: empty
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2472,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2474,1
    - Dst: ipmi::responseResponseError
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2475,1
    - Dst: ipmi::getIpmiDecoratorPaths
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2478,1
    - Dst: ipmi::getSensorDataRecord
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2481,1
    - Dst: value_or
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2482,1
    - Dst: std::unordered_set<std::string>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2482,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2487,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2488,1
    - Dst: reinterpret_cast<get_sdr::SensorDataRecordHeader*>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2491,1
    - Dst: std::vector::data
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2491,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2494,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2495,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2502,1
    - Dst: ipmi::responseParmOutOfRange
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2503,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2510,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2513,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2514,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2519,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 5
    argNames:
    - ctx
    - reservationID
    - recordID
    - offset
    - bytesToRead
    argTypes:
    - ipmi::Context::ptr
    - uint16_t
    - uint16_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2520
      start: 2457
    functionDepth: 6
    functionLinenumber: 2457
    functionLinenumberEnd: 2520
    functionName: ipmi::ipmiStorageGetSDR
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp
    functionUses: 0
    functionsReached:
    - ipmi::responseResponseError
    - value_or
    - std::unordered_set<std::string>
    - ipmi::responseSuccess
    - getSensorSubtree
    - ipmi::responseParmOutOfRange
    - ipmi::getSensorDataRecord
    - std::vector::data
    - reinterpret_cast<uint8_t*>
    - ipmi::getIpmiDecoratorPaths
    - ipmi::responseInvalidFieldRequest
    - ipmi::responseInvalidReservationId
    - empty
    - lg2::error
    - reinterpret_cast<get_sdr::SensorDataRecordHeader*>
    - ipmi::getSensorTree
    linkageType: ''
    returnType: "ipmi::RspType<uint16_t,            // next record ID\n              std::vector<uint8_t>
      // payload\n              >"
    signature: "ipmi::RspType<uint16_t,            // next record ID\n              std::vector<uint8_t>
      // payload\n              > ipmiStorageGetSDR(ipmi::Context::ptr ctx, uint16_t
      reservationID,\n                      uint16_t recordID, uint8_t offset, uint8_t
      bytesToRead)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2532,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2534,1
    - Dst: std::make_tuple
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2536,1
    - Dst: getSensorTree
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2539,1
    - Dst: getSensorSubtree
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2540,1
    - Dst: empty
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2540,1
    - Dst: std::make_tuple
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2542,1
    - Dst: getIpmiDecoratorPaths
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2545,1
    - Dst: getSensorTypeFromPath
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2551,1
    - Dst: second::begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2563,1
    - Dst: getSensorMap
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2566,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2569,1
    - Dst: updateIpmiFromAssociation
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2582,1
    - Dst: value_or
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2584,1
    - Dst: std::unordered_set<std::string>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2584,1
    - Dst: std::vector::empty
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2598,1
    - Dst: getSensorNumberFromPath
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2605,1
    - Dst: std::vector::emplace_back
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2611,1
    - Dst: getSensorNumberFromPath
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2618,1
    - Dst: std::vector::emplace_back
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2624,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2632,1
    - Dst: sort
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2641,1
    - Dst: std::vector::begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2641,1
    - Dst: std::vector::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2641,1
    - Dst: std::make_tuple
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2643,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 45
    argCount: 4
    argNames:
    - ctx
    - entityId
    - entityInstance
    - instanceStart
    argTypes:
    - ipmi::Context::ptr
    - uint8_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2644
      start: 2524
    functionDepth: 4
    functionLinenumber: 2524
    functionLinenumberEnd: 2644
    functionName: ipmi::dcmi::getSensorsByEntityId
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp
    functionUses: 4
    functionsReached:
    - getSensorSubtree
    - find
    - std::vector::emplace_back
    - std::vector::end
    - second::begin
    - getIpmiDecoratorPaths
    - std::vector::begin
    - sort
    - end
    - updateIpmiFromAssociation
    - getSensorTree
    - std::vector::empty
    - value_or
    - std::make_tuple
    - getSensorTypeFromPath
    - getSensorMap
    - empty
    - lg2::error
    - std::unordered_set<std::string>
    - getSensorNumberFromPath
    linkageType: ''
    returnType: "std::tuple<uint8_t,                // Total of instance sensors\n
      \          std::vector<sensorInfo> // The list of sensors\n           >"
    signature: "std::tuple<uint8_t,                // Total of instance sensors\n
      \          std::vector<sensorInfo> // The list of sensors\n           > getSensorsByEntityId(ipmi::Context::ptr
      ctx, uint8_t entityId,\n                         uint8_t entityInstance, uint8_t
      instanceStart)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2653,1
    - Dst: boost::system::error_code::value
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2654,1
    - Dst: std::make_tuple
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2656,1
    - Dst: ipmi::getAllDbusProperties
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2660,1
    - Dst: boost::system::error_code::value
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2662,1
    - Dst: std::make_tuple
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2664,1
    - Dst: ipmi::PropertyMap::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2667,1
    - Dst: ipmi::PropertyMap::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2669,1
    - Dst: std::visit
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2671,1
    - Dst: ipmi::VariantToDoubleVisitor
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2671,1
    - Dst: ipmi::PropertyMap::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2674,1
    - Dst: ipmi::PropertyMap::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2676,1
    - Dst: std::make_tuple
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2678,1
    - Dst: std::visit
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2685,1
    - Dst: ipmi::VariantToDoubleVisitor
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2685,1
    - Dst: std::pow
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2686,1
    - Dst: std::abs
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2687,1
    - Dst: std::min
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2688,1
    - Dst: std::make_tuple
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2691,1
    - Dst: static_cast<uint7_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2691,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - ctx
    - ' objectPath'
    argTypes:
    - ipmi::Context::ptr
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2692
      start: 2646
    functionDepth: 1
    functionLinenumber: 2646
    functionLinenumberEnd: 2692
    functionName: ipmi::dcmi::readTemp
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp
    functionUses: 2
    functionsReached:
    - ipmi::PropertyMap::find
    - ipmi::PropertyMap::end
    - ipmi::getAllDbusProperties
    - ipmi::getService
    - std::make_tuple
    - std::visit
    - ipmi::VariantToDoubleVisitor
    - std::min
    - std::pow
    - static_cast<uint7_t>
    - std::abs
    - boost::system::error_code::value
    linkageType: ''
    returnType: "std::tuple<bool,    // Reading result\n           uint7_t, // Temp
      value\n           bool>"
    signature: "std::tuple<bool,    // Reading result\n           uint7_t, // Temp
      value\n           bool> readTemp(ipmi::Context::ptr ctx, const std::string&
      objectPath)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2702,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2703,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2705,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2707,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2712,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2715,1
    - Dst: ipmi::dcmi::getSensorsByEntityId
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2720,1
    - Dst: empty
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2722,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2724,1
    - Dst: std::vector::emplace_back
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2737,1
    - Dst: std::vector::size
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2738,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2744,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2745,1
    - Dst: std::vector::size
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2745,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 5
    argNames:
    - ctx
    - sensorType
    - entityId
    - entityInstance
    - instanceStart
    argTypes:
    - ipmi::Context::ptr
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2746
      start: 2694
    functionDepth: 5
    functionLinenumber: 2694
    functionLinenumberEnd: 2746
    functionName: ipmi::dcmi::getSensorInfo
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp
    functionUses: 0
    functionsReached:
    - ipmi::responseSuccess
    - ipmi::dcmi::getSensorsByEntityId
    - std::vector::size
    - ipmi::responseInvalidFieldRequest
    - static_cast<uint8_t>
    - end
    - find
    - empty
    - std::vector::emplace_back
    - lg2::error
    linkageType: ''
    returnType: "ipmi::RspType<uint8_t,              // No of instances for requested
      id\n              uint8_t,              // No of record ids in the response\n
      \             std::vector<uint16_t> // SDR Record ID corresponding to the Entity\n
      \                                   // IDs\n              >"
    signature: "ipmi::RspType<uint8_t,              // No of instances for requested
      id\n              uint8_t,              // No of record ids in the response\n
      \             std::vector<uint16_t> // SDR Record ID corresponding to the Entity\n
      \                                   // IDs\n              > getSensorInfo(ipmi::Context::ptr
      ctx, uint8_t sensorType, uint8_t entityId,\n                  uint8_t entityInstance,
      uint8_t instanceStart)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2759,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2760,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2762,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2764,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2769,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2772,1
    - Dst: ipmi::dcmi::getSensorsByEntityId
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2777,1
    - Dst: empty
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2779,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2781,1
    - Dst: ipmi::dcmi::readTemp
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2795,1
    - Dst: std::vector::emplace_back
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2799,1
    - Dst: std::make_tuple
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2800,1
    - Dst: std::vector::size
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2802,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2809,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2810,1
    - Dst: std::vector::size
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2810,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 5
    argNames:
    - ctx
    - sensorType
    - entityId
    - entityInstance
    - instanceStart
    argTypes:
    - ipmi::Context::ptr
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2812
      start: 2748
    functionDepth: 5
    functionLinenumber: 2748
    functionLinenumberEnd: 2812
    functionName: ipmi::dcmi::getTempReadings
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp
    functionUses: 0
    functionsReached:
    - ipmi::responseSuccess
    - ipmi::dcmi::getSensorsByEntityId
    - std::make_tuple
    - std::vector::size
    - std::vector::emplace_back
    - ipmi::responseInvalidFieldRequest
    - static_cast<uint8_t>
    - end
    - find
    - empty
    - ipmi::dcmi::readTemp
    - lg2::error
    linkageType: ''
    returnType: "ipmi::RspType<uint8_t,                // No of instances for requested
      id\n              uint8_t,                // No of record ids in the response\n
      \             std::vector<            // Temperature Data\n                  std::tuple<uint7_t,
      // Temperature value\n                             bool,    // Sign bit\n                             uint8_t
      \ // Entity Instance of sensor\n                             >>>"
    signature: "ipmi::RspType<uint8_t,                // No of instances for requested
      id\n              uint8_t,                // No of record ids in the response\n
      \             std::vector<            // Temperature Data\n                  std::tuple<uint7_t,
      // Temperature value\n                             bool,    // Sign bit\n                             uint8_t
      \ // Entity Instance of sensor\n                             >>> getTempReadings(ipmi::Context::ptr
      ctx, uint8_t sensorType,\n                    uint8_t entityId, uint8_t entityInstance,\n
      \                   uint8_t instanceStart)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2532,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2534,1
    - Dst: std::make_tuple
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2536,1
    - Dst: getSensorTree
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2539,1
    - Dst: getSensorSubtree
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2540,1
    - Dst: empty
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2540,1
    - Dst: std::make_tuple
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2542,1
    - Dst: getIpmiDecoratorPaths
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2545,1
    - Dst: getSensorTypeFromPath
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2551,1
    - Dst: second::begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2563,1
    - Dst: getSensorMap
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2566,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2569,1
    - Dst: updateIpmiFromAssociation
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2582,1
    - Dst: value_or
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2584,1
    - Dst: std::unordered_set<std::string>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2584,1
    - Dst: std::vector::empty
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2598,1
    - Dst: getSensorNumberFromPath
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2605,1
    - Dst: std::vector::emplace_back
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2611,1
    - Dst: getSensorNumberFromPath
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2618,1
    - Dst: std::vector::emplace_back
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2624,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2632,1
    - Dst: sort
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2641,1
    - Dst: std::vector::begin
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2641,1
    - Dst: std::vector::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2641,1
    - Dst: std::make_tuple
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2643,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 45
    argCount: 4
    argNames:
    - ctx
    - entityId
    - entityInstance
    - instanceStart
    argTypes:
    - ipmi::Context::ptr
    - uint8_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2644
      start: 2524
    functionDepth: 4
    functionLinenumber: 2524
    functionLinenumberEnd: 2644
    functionName: ipmi::dcmi::getSensorsByEntityId
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp
    functionUses: 6
    functionsReached:
    - getSensorSubtree
    - find
    - std::vector::emplace_back
    - std::vector::end
    - second::begin
    - getIpmiDecoratorPaths
    - std::vector::begin
    - sort
    - end
    - updateIpmiFromAssociation
    - getSensorTree
    - std::vector::empty
    - value_or
    - std::make_tuple
    - getSensorTypeFromPath
    - getSensorMap
    - empty
    - lg2::error
    - std::unordered_set<std::string>
    - getSensorNumberFromPath
    linkageType: ''
    returnType: "std::tuple<uint8_t,                // Total of instance sensors\n
      \          std::vector<sensorInfo> // The list of sensors\n           >"
    signature: "std::tuple<uint8_t,                // Total of instance sensors\n
      \          std::vector<sensorInfo> // The list of sensors\n           > getSensorsByEntityId(ipmi::Context::ptr
      ctx, uint8_t entityId,\n                         uint8_t entityInstance, uint8_t
      instanceStart)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2653,1
    - Dst: boost::system::error_code::value
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2654,1
    - Dst: std::make_tuple
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2656,1
    - Dst: ipmi::getAllDbusProperties
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2660,1
    - Dst: boost::system::error_code::value
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2662,1
    - Dst: std::make_tuple
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2664,1
    - Dst: ipmi::PropertyMap::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2667,1
    - Dst: ipmi::PropertyMap::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2669,1
    - Dst: std::visit
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2671,1
    - Dst: ipmi::VariantToDoubleVisitor
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2671,1
    - Dst: ipmi::PropertyMap::find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2674,1
    - Dst: ipmi::PropertyMap::end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2676,1
    - Dst: std::make_tuple
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2678,1
    - Dst: std::visit
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2685,1
    - Dst: ipmi::VariantToDoubleVisitor
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2685,1
    - Dst: std::pow
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2686,1
    - Dst: std::abs
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2687,1
    - Dst: std::min
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2688,1
    - Dst: std::make_tuple
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2691,1
    - Dst: static_cast<uint7_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2691,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - ctx
    - ' objectPath'
    argTypes:
    - ipmi::Context::ptr
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2692
      start: 2646
    functionDepth: 1
    functionLinenumber: 2646
    functionLinenumberEnd: 2692
    functionName: ipmi::dcmi::readTemp
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp
    functionUses: 3
    functionsReached:
    - ipmi::PropertyMap::find
    - ipmi::PropertyMap::end
    - ipmi::getAllDbusProperties
    - ipmi::getService
    - std::make_tuple
    - std::visit
    - ipmi::VariantToDoubleVisitor
    - std::min
    - std::pow
    - static_cast<uint7_t>
    - std::abs
    - boost::system::error_code::value
    linkageType: ''
    returnType: "std::tuple<bool,    // Reading result\n           uint7_t, // Temp
      value\n           bool>"
    signature: "std::tuple<bool,    // Reading result\n           uint7_t, // Temp
      value\n           bool> readTemp(ipmi::Context::ptr ctx, const std::string&
      objectPath)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2702,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2703,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2705,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2707,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2712,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2715,1
    - Dst: ipmi::dcmi::getSensorsByEntityId
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2720,1
    - Dst: empty
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2722,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2724,1
    - Dst: std::vector::emplace_back
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2737,1
    - Dst: std::vector::size
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2738,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2744,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2745,1
    - Dst: std::vector::size
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2745,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 5
    argNames:
    - ctx
    - sensorType
    - entityId
    - entityInstance
    - instanceStart
    argTypes:
    - ipmi::Context::ptr
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2746
      start: 2694
    functionDepth: 5
    functionLinenumber: 2694
    functionLinenumberEnd: 2746
    functionName: ipmi::dcmi::getSensorInfo
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp
    functionUses: 0
    functionsReached:
    - ipmi::responseSuccess
    - ipmi::dcmi::getSensorsByEntityId
    - std::vector::size
    - ipmi::responseInvalidFieldRequest
    - static_cast<uint8_t>
    - end
    - find
    - empty
    - std::vector::emplace_back
    - lg2::error
    linkageType: ''
    returnType: "ipmi::RspType<uint8_t,              // No of instances for requested
      id\n              uint8_t,              // No of record ids in the response\n
      \             std::vector<uint16_t> // SDR Record ID corresponding to the Entity\n
      \                                   // IDs\n              >"
    signature: "ipmi::RspType<uint8_t,              // No of instances for requested
      id\n              uint8_t,              // No of record ids in the response\n
      \             std::vector<uint16_t> // SDR Record ID corresponding to the Entity\n
      \                                   // IDs\n              > getSensorInfo(ipmi::Context::ptr
      ctx, uint8_t sensorType, uint8_t entityId,\n                  uint8_t entityInstance,
      uint8_t instanceStart)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2759,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2760,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2762,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2764,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2769,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2772,1
    - Dst: ipmi::dcmi::getSensorsByEntityId
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2777,1
    - Dst: empty
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2779,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2781,1
    - Dst: ipmi::dcmi::readTemp
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2795,1
    - Dst: std::vector::emplace_back
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2799,1
    - Dst: std::make_tuple
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2800,1
    - Dst: std::vector::size
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2802,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2809,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2810,1
    - Dst: std::vector::size
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2810,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 5
    argNames:
    - ctx
    - sensorType
    - entityId
    - entityInstance
    - instanceStart
    argTypes:
    - ipmi::Context::ptr
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2812
      start: 2748
    functionDepth: 5
    functionLinenumber: 2748
    functionLinenumberEnd: 2812
    functionName: ipmi::dcmi::getTempReadings
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp
    functionUses: 0
    functionsReached:
    - ipmi::responseSuccess
    - ipmi::dcmi::getSensorsByEntityId
    - std::make_tuple
    - std::vector::size
    - std::vector::emplace_back
    - ipmi::responseInvalidFieldRequest
    - static_cast<uint8_t>
    - end
    - find
    - empty
    - ipmi::dcmi::readTemp
    - lg2::error
    linkageType: ''
    returnType: "ipmi::RspType<uint8_t,                // No of instances for requested
      id\n              uint8_t,                // No of record ids in the response\n
      \             std::vector<            // Temperature Data\n                  std::tuple<uint7_t,
      // Temperature value\n                             bool,    // Sign bit\n                             uint8_t
      \ // Entity Instance of sensor\n                             >>>"
    signature: "ipmi::RspType<uint8_t,                // No of instances for requested
      id\n              uint8_t,                // No of record ids in the response\n
      \             std::vector<            // Temperature Data\n                  std::tuple<uint7_t,
      // Temperature value\n                             bool,    // Sign bit\n                             uint8_t
      \ // Entity Instance of sensor\n                             >>> getTempReadings(ipmi::Context::ptr
      ctx, uint8_t sensorType,\n                    uint8_t entityId, uint8_t entityInstance,\n
      \                   uint8_t instanceStart)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2821,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2826,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2831,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2836,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2841,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2847,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2852,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2860,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2866,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2871,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2877,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2881,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2886,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2890,1
    - Dst: ipmi::registerGroupHandler
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2894,1
    - Dst: ipmi::registerGroupHandler
      Src: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp:2899,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2903
      start: 2818
    functionDepth: 1
    functionLinenumber: 2818
    functionLinenumberEnd: 2903
    functionName: ipmi::registerSensorFunctions
    functionSourceFile: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp
    functionUses: 0
    functionsReached:
    - ipmi::registerGroupHandler
    - ipmi::registerHandler
    linkageType: ''
    returnType: void
    signature: void registerSensorFunctions()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:51,1
    - Dst: ipmi::getSubTree
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:53,1
    - Dst: ObjectTree::empty
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:54,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:56,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:58,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:66,1
    - Dst: ObjectTree::begin
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:67,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:68,1
    - Dst: ObjectTree::begin
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:68,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:68,1
    - Dst: std::find_if
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:73,1
    - Dst: ObjectTree::begin
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:74,1
    - Dst: ObjectTree::end
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:74,1
    - Dst: first::find
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:75,1
    - Dst: ObjectTree::end
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:78,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:80,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:82,1
    - Dst: make_pair
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:86,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:86,1
    - Dst: auto::second::begin
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:86,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - ' bus'
    - ' interface'
    - ' serviceRoot'
    - ' match'
    argTypes:
    - sdbusplus::bus_t
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 87
    functionName: ipmi::getDbusObject
    functionSourceFile: /src/phosphor-host-ipmid/libipmid/utils.cpp
    functionUses: 23
    functionsReached:
    - make_pair
    - std::make_pair
    - ObjectTree::empty
    - auto::second::begin
    - ObjectTree::end
    - first::find
    - ObjectTree::begin
    - ipmi::getSubTree
    - begin
    - elog<InternalFailure>
    - std::find_if
    - std::move
    - std::vector::emplace_back
    - lg2::error
    linkageType: ''
    returnType: DbusObjectInfo
    signature: "DbusObjectInfo getDbusObject(\n    sdbusplus::bus_t& bus, const std::string&
      interface,\n    const std::string& serviceRoot, const std::string& match)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_method_call
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:96,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:96,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:96,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:99,1
    - Dst: call
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:101,1
    - Dst: std::chrono::microseconds::count
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:101,1
    - Dst: auto::read
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - ' bus'
    - ' service'
    - ' objPath'
    - ' interface'
    - ' property'
    - timeout
    argTypes:
    - sdbusplus::bus_t
    - std::string
    - std::string
    - std::string
    - std::string
    - std::chrono::microseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 105
    functionName: ipmi::getDbusProperty
    functionSourceFile: /src/phosphor-host-ipmid/libipmid/utils.cpp
    functionUses: 93
    functionsReached:
    - call
    - auto::append
    - std::chrono::microseconds::count
    - c_str
    - auto::read
    - new_method_call
    linkageType: ''
    returnType: Value
    signature: "Value getDbusProperty(sdbusplus::bus_t& bus, const std::string& service,\n
      \                     const std::string& objPath, const std::string& interface,\n
      \                     const std::string& property,\n                      std::chrono::microseconds
      timeout)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_method_call
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:114,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:114,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:114,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:117,1
    - Dst: call
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:119,1
    - Dst: std::chrono::microseconds::count
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:119,1
    - Dst: auto::read
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - ' bus'
    - ' service'
    - ' objPath'
    - ' interface'
    - timeout
    argTypes:
    - sdbusplus::bus_t
    - std::string
    - std::string
    - std::string
    - std::chrono::microseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 123
    functionName: ipmi::getAllDbusProperties
    functionSourceFile: /src/phosphor-host-ipmid/libipmid/utils.cpp
    functionUses: 19
    functionsReached:
    - call
    - auto::append
    - std::chrono::microseconds::count
    - c_str
    - auto::read
    - new_method_call
    linkageType: ''
    returnType: PropertyMap
    signature: "PropertyMap getAllDbusProperties(\n    sdbusplus::bus_t& bus, const
      std::string& service,\n    const std::string& objPath, const std::string& interface,\n
      \   std::chrono::microseconds timeout)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_method_call
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:131,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:131,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:131,1
    - Dst: call
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:134,1
    - Dst: auto::read
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' bus'
    - ' service'
    - ' objPath'
    argTypes:
    - sdbusplus::bus_t
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 138
    functionName: ipmi::getManagedObjects
    functionSourceFile: /src/phosphor-host-ipmid/libipmid/utils.cpp
    functionUses: 4
    functionsReached:
    - new_method_call
    - c_str
    - auto::read
    - call
    linkageType: ''
    returnType: ObjectValueTree
    signature: "ObjectValueTree getManagedObjects(sdbusplus::bus_t& bus,\n                                  const
      std::string& service,\n                                  const std::string&
      objPath)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: new_method_call
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:145,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:145,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:145,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:148,1
    - Dst: call
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:150,1
    - Dst: std::chrono::microseconds::count
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:150,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:152,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 7
    argNames:
    - ' bus'
    - ' service'
    - ' objPath'
    - ' interface'
    - ' property'
    - ' value'
    - timeout
    argTypes:
    - sdbusplus::bus_t
    - std::string
    - std::string
    - std::string
    - std::string
    - Value
    - std::chrono::microseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 158
    functionName: ipmi::setDbusProperty
    functionSourceFile: /src/phosphor-host-ipmid/libipmid/utils.cpp
    functionUses: 46
    functionsReached:
    - call
    - auto::append
    - std::chrono::microseconds::count
    - c_str
    - elog<InternalFailure>
    - new_method_call
    - lg2::error
    linkageType: ''
    returnType: void
    signature: "void setDbusProperty(sdbusplus::bus_t& bus, const std::string& service,\n
      \                    const std::string& objPath, const std::string& interface,\n
      \                    const std::string& property, const Value& value,\n                     std::chrono::microseconds
      timeout)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' intf'
    - ' path'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 163
    functionName: ipmi::ServiceCache::ServiceCache
    functionSourceFile: /src/phosphor-host-ipmid/libipmid/utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ServiceCache::ServiceCache(const std::string& intf, const std::string&
      path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:166,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - ' intf'
    - ' path'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 168
    functionName: ipmi::ServiceCache::ServiceCache
    functionSourceFile: /src/phosphor-host-ipmid/libipmid/utils.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void ServiceCache::ServiceCache(std::string&& intf, std::string&& path)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isValid
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:172,1
    - Dst: get_unique_name
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:174,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:175,1
    - Dst: std::runtime_error
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:180,1
    - Dst: value
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:182,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ' bus'
    argTypes:
    - sdbusplus::bus_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 183
    functionName: '& ServiceCache::getService(sdbusplus::bus_t& bus)'
    functionSourceFile: /src/phosphor-host-ipmid/libipmid/utils.cpp
    functionUses: 0
    functionsReached:
    - get_unique_name
    - ipmi::getService
    - value
    - isValid
    - std::runtime_error
    linkageType: ''
    returnType: std::string
    signature: std::string & ServiceCache::getService(sdbusplus::bus_t& bus)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 189
    functionName: ipmi::ServiceCache::invalidate
    functionSourceFile: /src/phosphor-host-ipmid/libipmid/utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ServiceCache::invalidate()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_method_call
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:194,1
    - Dst: getService
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:194,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' bus'
    - intf
    - method
    argTypes:
    - sdbusplus::bus_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 196
    functionName: ipmi::ServiceCache::newMethodCall
    functionSourceFile: /src/phosphor-host-ipmid/libipmid/utils.cpp
    functionUses: 0
    functionsReached:
    - new_method_call
    - getService
    - c_str
    linkageType: ''
    returnType: sdbusplus::message_t
    signature: "sdbusplus::message_t ServiceCache::newMethodCall(\n    sdbusplus::bus_t&
      bus, const char* intf, const char* method)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_unique_name
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' bus'
    argTypes:
    - sdbusplus::bus_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 201
    functionName: ipmi::ServiceCache::isValid
    functionSourceFile: /src/phosphor-host-ipmid/libipmid/utils.cpp
    functionUses: 0
    functionsReached:
    - get_unique_name
    linkageType: ''
    returnType: bool
    signature: bool ServiceCache::isValid(sdbusplus::bus_t& bus) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: new_method_call
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:206,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:210,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:211,1
    - Dst: std::vector<std::string>
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:211,1
    - Dst: call
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:213,1
    - Dst: auto::unpack
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:216,1
    - Dst: auto::begin
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:219,1
    - Dst: auto::end
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:219,1
    - Dst: std::runtime_error
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:221,1
    - Dst: auto::begin
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:224,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ' bus'
    - ' intf'
    - ' path'
    argTypes:
    - sdbusplus::bus_t
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 225
    functionName: ipmi::getService
    functionSourceFile: /src/phosphor-host-ipmid/libipmid/utils.cpp
    functionUses: 107
    functionsReached:
    - auto::unpack
    - call
    - auto::append
    - auto::end
    - std::runtime_error
    - new_method_call
    - std::vector<std::string>
    - auto::begin
    linkageType: ''
    returnType: std::string
    signature: "std::string getService(sdbusplus::bus_t& bus, const std::string& intf,\n
      \                      const std::string& path)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_method_call
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:230,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:234,1
    - Dst: call
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:236,1
    - Dst: auto::unpack
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' bus'
    - ' interfaces'
    - ' subtreePath'
    - depth
    argTypes:
    - sdbusplus::bus_t
    - InterfaceList
    - std::string
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 240
    functionName: ipmi::getSubTree
    functionSourceFile: /src/phosphor-host-ipmid/libipmid/utils.cpp
    functionUses: 12
    functionsReached:
    - new_method_call
    - auto::unpack
    - call
    - auto::append
    linkageType: ''
    returnType: ObjectTree
    signature: "ObjectTree getSubTree(sdbusplus::bus_t& bus, const InterfaceList&
      interfaces,\n                      const std::string& subtreePath, int32_t depth)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:247,1
    - Dst: ipmi::getSubTree
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:249,1
    - Dst: ObjectTree::begin
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:250,1
    - Dst: ObjectTree::end
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:250,1
    - Dst: auto::first::find
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:252,1
    - Dst: ObjectTree::erase
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:254,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - ' bus'
    - ' serviceRoot'
    - ' interface'
    - ' match'
    argTypes:
    - sdbusplus::bus_t
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 263
    functionName: ipmi::getAllDbusObjects
    functionSourceFile: /src/phosphor-host-ipmid/libipmid/utils.cpp
    functionUses: 9
    functionsReached:
    - ObjectTree::erase
    - ObjectTree::end
    - ObjectTree::begin
    - ipmi::getSubTree
    - auto::first::find
    - std::vector::emplace_back
    linkageType: ''
    returnType: ipmi::ObjectTree
    signature: "ipmi::ObjectTree getAllDbusObjects(\n    sdbusplus::bus_t& bus, const
      std::string& serviceRoot,\n    const std::string& interface, const std::string&
      match)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_method_call
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:273,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:273,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:273,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:274,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:274,1
    - Dst: call
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - ' bus'
    - ' service'
    - ' objPath'
    - ' interface'
    - ' method'
    argTypes:
    - sdbusplus::bus_t
    - std::string
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 276
    functionName: ipmi::method_no_args::callDbusMethod
    functionSourceFile: /src/phosphor-host-ipmid/libipmid/utils.cpp
    functionUses: 0
    functionsReached:
    - new_method_call
    - c_str
    - call
    linkageType: ''
    returnType: void
    signature: "void callDbusMethod(sdbusplus::bus_t& bus, const std::string& service,\n
      \                   const std::string& objPath, const std::string& interface,\n
      \                   const std::string& method)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_method_call
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:273,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:273,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:273,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:274,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:274,1
    - Dst: call
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - ' bus'
    - ' service'
    - ' objPath'
    - ' interface'
    - ' method'
    argTypes:
    - sdbusplus::bus_t
    - std::string
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 276
    functionName: ipmi::method_no_args::callDbusMethod
    functionSourceFile: /src/phosphor-host-ipmid/libipmid/utils.cpp
    functionUses: 0
    functionsReached:
    - new_method_call
    - c_str
    - call
    linkageType: ''
    returnType: void
    signature: "void callDbusMethod(sdbusplus::bus_t& bus, const std::string& service,\n
      \                   const std::string& objPath, const std::string& interface,\n
      \                   const std::string& method)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Context::ptr::bus::yield_method_call
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:288,1
    - Dst: std::vector<std::string>
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:292,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:296,1
    - Dst: std::map::begin
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:296,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - ctx
    - ' intf'
    - ' path'
    - ' service'
    argTypes:
    - Context::ptr
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 299
    functionName: ipmi::getService
    functionSourceFile: /src/phosphor-host-ipmid/libipmid/utils.cpp
    functionUses: 107
    functionsReached:
    - std::move
    - std::vector<std::string>
    - Context::ptr::bus::yield_method_call
    - std::map::begin
    linkageType: ''
    returnType: boost::system::error_code
    signature: "boost::system::error_code getService(Context::ptr ctx, const std::string&
      intf,\n                                     const std::string& path,\n                                     std::string&
      service)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Context::ptr::bus::yield_method_call
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - ctx
    - ' interfaces'
    - ' subtreePath'
    - depth
    - ' objectTree'
    argTypes:
    - Context::ptr
    - InterfaceList
    - std::string
    - int32_t
    - ObjectTree
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 313
    functionName: ipmi::getSubTree
    functionSourceFile: /src/phosphor-host-ipmid/libipmid/utils.cpp
    functionUses: 13
    functionsReached:
    - Context::ptr::bus::yield_method_call
    linkageType: ''
    returnType: boost::system::error_code
    signature: "boost::system::error_code getSubTree(\n    Context::ptr ctx, const
      InterfaceList& interfaces,\n    const std::string& subtreePath, int32_t depth,
      ObjectTree& objectTree)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:321,1
    - Dst: ipmi::getSubTree
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:326,1
    - Dst: ObjectTree::empty
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:333,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:335,1
    - Dst: boost::system::errc::make_error_code
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:339,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:346,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:347,1
    - Dst: ObjectTree::begin
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:347,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:348,1
    - Dst: ObjectTree::begin
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:348,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:348,1
    - Dst: std::find_if
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:353,1
    - Dst: ObjectTree::begin
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:354,1
    - Dst: ObjectTree::end
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:354,1
    - Dst: first::find
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:355,1
    - Dst: ObjectTree::end
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:358,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:360,1
    - Dst: boost::system::errc::make_error_code
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:365,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:369,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:369,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:370,1
    - Dst: auto::second::begin
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:370,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 5
    argNames:
    - ctx
    - ' interface'
    - ' subtreePath'
    - ' match'
    - ' dbusObject'
    argTypes:
    - Context::ptr
    - std::string
    - std::string
    - std::string
    - DbusObjectInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 372
    functionName: ipmi::getDbusObject
    functionSourceFile: /src/phosphor-host-ipmid/libipmid/utils.cpp
    functionUses: 23
    functionsReached:
    - std::make_pair
    - ObjectTree::empty
    - auto::second::begin
    - ObjectTree::end
    - first::find
    - ObjectTree::begin
    - ipmi::getSubTree
    - begin
    - std::find_if
    - std::move
    - std::vector::emplace_back
    - lg2::error
    - boost::system::errc::make_error_code
    linkageType: ''
    returnType: boost::system::error_code
    signature: "boost::system::error_code getDbusObject(\n    Context::ptr ctx, const
      std::string& interface,\n    const std::string& subtreePath, const std::string&
      match,\n    DbusObjectInfo& dbusObject)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Context::ptr::bus::yield_method_call
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:379,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:380,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - ctx
    - ' service'
    - ' objPath'
    - ' interface'
    - ' properties'
    argTypes:
    - Context::ptr
    - std::string
    - std::string
    - std::string
    - PropertyMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 383
    functionName: ipmi::getAllDbusProperties
    functionSourceFile: /src/phosphor-host-ipmid/libipmid/utils.cpp
    functionUses: 19
    functionsReached:
    - c_str
    - Context::ptr::bus::yield_method_call
    linkageType: ''
    returnType: boost::system::error_code
    signature: "boost::system::error_code getAllDbusProperties(\n    Context::ptr
      ctx, const std::string& service, const std::string& objPath,\n    const std::string&
      interface, PropertyMap& properties)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Context::ptr::bus::yield_method_call
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:391,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:391,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - ctx
    - ' service'
    - ' objPath'
    - ' interface'
    - ' property'
    - ' value'
    argTypes:
    - Context::ptr
    - std::string
    - std::string
    - std::string
    - std::string
    - Value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 395
    functionName: ipmi::setDbusProperty
    functionSourceFile: /src/phosphor-host-ipmid/libipmid/utils.cpp
    functionUses: 46
    functionsReached:
    - c_str
    - Context::ptr::bus::yield_method_call
    linkageType: ''
    returnType: boost::system::error_code
    signature: "boost::system::error_code setDbusProperty(\n    Context::ptr ctx,
      const std::string& service, const std::string& objPath,\n    const std::string&
      interface, const std::string& property,\n    const Value& value)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:403,1
    - Dst: ipmi::getSubTree
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:407,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:413,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:413,1
    - Dst: auto::first::find
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:415,1
    - Dst: erase
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:417,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - ctx
    - ' serviceRoot'
    - ' interface'
    - ' match'
    - ' objectTree'
    argTypes:
    - Context::ptr
    - std::string
    - std::string
    - std::string
    - ObjectTree
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 426
    functionName: ipmi::getAllDbusObjects
    functionSourceFile: /src/phosphor-host-ipmid/libipmid/utils.cpp
    functionUses: 9
    functionsReached:
    - erase
    - end
    - ipmi::getSubTree
    - begin
    - auto::first::find
    - std::vector::emplace_back
    linkageType: ''
    returnType: boost::system::error_code
    signature: "boost::system::error_code getAllDbusObjects(\n    Context::ptr ctx,
      const std::string& serviceRoot,\n    const std::string& interface, const std::string&
      match,\n    ObjectTree& objectTree)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Context::ptr::bus::yield_method_call
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:433,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:434,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ctx
    - ' service'
    - ' objPath'
    - ' objects'
    argTypes:
    - Context::ptr
    - std::string
    - std::string
    - ObjectValueTree
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 437
    functionName: ipmi::getManagedObjects
    functionSourceFile: /src/phosphor-host-ipmid/libipmid/utils.cpp
    functionUses: 4
    functionsReached:
    - c_str
    - Context::ptr::bus::yield_method_call
    linkageType: ''
    returnType: boost::system::error_code
    signature: "boost::system::error_code getManagedObjects(\n    Context::ptr ctx,
      const std::string& service, const std::string& objPath,\n    ObjectValueTree&
      objects)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Context::ptr::bus::yield_method_call
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - ctx
    - ' service'
    - ' objPath'
    - ' interface'
    - ' method'
    argTypes:
    - Context::ptr
    - std::string
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 447
    functionName: ipmi::callDbusMethod
    functionSourceFile: /src/phosphor-host-ipmid/libipmid/utils.cpp
    functionUses: 7
    functionsReached:
    - Context::ptr::bus::yield_method_call
    linkageType: ''
    returnType: boost::system::error_code
    signature: "boost::system::error_code callDbusMethod(\n    Context::ptr ctx, const
      std::string& service, const std::string& objPath,\n    const std::string& interface,
      const std::string& method)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ::open
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:456,1
    - Dst: std::string::c_str
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:456,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:459,1
    - Dst: std::vector<uint8_t>::size
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:463,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:464,1
    - Dst: std::vector<uint8_t>::data
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:473,1
    - Dst: data
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:482,1
    - Dst: ::ioctl
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:491,1
    - Dst: ::close
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:492,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:496,1
    - Dst: resize
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:501,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 4
    argNames:
    - i2cBus
    - targetAddr
    - writeData
    - ' readBuf'
    argTypes:
    - std::string
    - uint8_t
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 505
    functionName: ipmi::i2cWriteRead
    functionSourceFile: /src/phosphor-host-ipmid/libipmid/utils.cpp
    functionUses: 1
    functionsReached:
    - ::open
    - std::vector<uint8_t>::data
    - std::string::c_str
    - size
    - ::ioctl
    - data
    - resize
    - ::close
    - std::vector<uint8_t>::size
    - lg2::error
    linkageType: ''
    returnType: ipmi::Cc
    signature: "ipmi::Cc i2cWriteRead(std::string i2cBus, const uint8_t targetAddr,\n
      \                     std::vector<uint8_t> writeData,\n                      std::vector<uint8_t>&
      readBuf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::getline
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:513,1
    - Dst: std::string::empty
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:515,1
    - Dst: std::vector::emplace_back
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:517,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' srcStr'
    - delim
    argTypes:
    - std::string
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 521
    functionName: ipmi::split
    functionSourceFile: /src/phosphor-host-ipmid/libipmid/utils.cpp
    functionUses: 6
    functionsReached:
    - std::vector::emplace_back
    - std::getline
    - std::string::empty
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> split(const std::string& srcStr, char delim)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:51,1
    - Dst: ipmi::getSubTree
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:53,1
    - Dst: ObjectTree::empty
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:54,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:56,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:58,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:66,1
    - Dst: ObjectTree::begin
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:67,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:68,1
    - Dst: ObjectTree::begin
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:68,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:68,1
    - Dst: std::find_if
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:73,1
    - Dst: ObjectTree::begin
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:74,1
    - Dst: ObjectTree::end
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:74,1
    - Dst: first::find
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:75,1
    - Dst: ObjectTree::end
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:78,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:80,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:82,1
    - Dst: make_pair
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:86,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:86,1
    - Dst: auto::second::begin
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:86,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - ' bus'
    - ' interface'
    - ' serviceRoot'
    - ' match'
    argTypes:
    - sdbusplus::bus_t
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 87
    functionName: ipmi::getDbusObject
    functionSourceFile: /src/phosphor-host-ipmid/libipmid/utils.cpp
    functionUses: 23
    functionsReached:
    - make_pair
    - std::make_pair
    - ObjectTree::empty
    - auto::second::begin
    - ObjectTree::end
    - first::find
    - ObjectTree::begin
    - ipmi::getSubTree
    - begin
    - elog<InternalFailure>
    - std::find_if
    - std::move
    - std::vector::emplace_back
    - lg2::error
    linkageType: ''
    returnType: DbusObjectInfo
    signature: "DbusObjectInfo getDbusObject(\n    sdbusplus::bus_t& bus, const std::string&
      interface,\n    const std::string& serviceRoot, const std::string& match)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_method_call
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:96,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:96,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:96,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:99,1
    - Dst: call
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:101,1
    - Dst: std::chrono::microseconds::count
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:101,1
    - Dst: auto::read
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - ' bus'
    - ' service'
    - ' objPath'
    - ' interface'
    - ' property'
    - timeout
    argTypes:
    - sdbusplus::bus_t
    - std::string
    - std::string
    - std::string
    - std::string
    - std::chrono::microseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 105
    functionName: ipmi::getDbusProperty
    functionSourceFile: /src/phosphor-host-ipmid/libipmid/utils.cpp
    functionUses: 93
    functionsReached:
    - call
    - auto::append
    - std::chrono::microseconds::count
    - c_str
    - auto::read
    - new_method_call
    linkageType: ''
    returnType: Value
    signature: "Value getDbusProperty(sdbusplus::bus_t& bus, const std::string& service,\n
      \                     const std::string& objPath, const std::string& interface,\n
      \                     const std::string& property,\n                      std::chrono::microseconds
      timeout)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_method_call
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:114,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:114,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:114,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:117,1
    - Dst: call
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:119,1
    - Dst: std::chrono::microseconds::count
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:119,1
    - Dst: auto::read
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - ' bus'
    - ' service'
    - ' objPath'
    - ' interface'
    - timeout
    argTypes:
    - sdbusplus::bus_t
    - std::string
    - std::string
    - std::string
    - std::chrono::microseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 123
    functionName: ipmi::getAllDbusProperties
    functionSourceFile: /src/phosphor-host-ipmid/libipmid/utils.cpp
    functionUses: 19
    functionsReached:
    - call
    - auto::append
    - std::chrono::microseconds::count
    - c_str
    - auto::read
    - new_method_call
    linkageType: ''
    returnType: PropertyMap
    signature: "PropertyMap getAllDbusProperties(\n    sdbusplus::bus_t& bus, const
      std::string& service,\n    const std::string& objPath, const std::string& interface,\n
      \   std::chrono::microseconds timeout)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_method_call
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:131,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:131,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:131,1
    - Dst: call
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:134,1
    - Dst: auto::read
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' bus'
    - ' service'
    - ' objPath'
    argTypes:
    - sdbusplus::bus_t
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 138
    functionName: ipmi::getManagedObjects
    functionSourceFile: /src/phosphor-host-ipmid/libipmid/utils.cpp
    functionUses: 4
    functionsReached:
    - new_method_call
    - c_str
    - auto::read
    - call
    linkageType: ''
    returnType: ObjectValueTree
    signature: "ObjectValueTree getManagedObjects(sdbusplus::bus_t& bus,\n                                  const
      std::string& service,\n                                  const std::string&
      objPath)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: new_method_call
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:145,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:145,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:145,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:148,1
    - Dst: call
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:150,1
    - Dst: std::chrono::microseconds::count
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:150,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:152,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 7
    argNames:
    - ' bus'
    - ' service'
    - ' objPath'
    - ' interface'
    - ' property'
    - ' value'
    - timeout
    argTypes:
    - sdbusplus::bus_t
    - std::string
    - std::string
    - std::string
    - std::string
    - Value
    - std::chrono::microseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 158
    functionName: ipmi::setDbusProperty
    functionSourceFile: /src/phosphor-host-ipmid/libipmid/utils.cpp
    functionUses: 46
    functionsReached:
    - call
    - auto::append
    - std::chrono::microseconds::count
    - c_str
    - elog<InternalFailure>
    - new_method_call
    - lg2::error
    linkageType: ''
    returnType: void
    signature: "void setDbusProperty(sdbusplus::bus_t& bus, const std::string& service,\n
      \                    const std::string& objPath, const std::string& interface,\n
      \                    const std::string& property, const Value& value,\n                     std::chrono::microseconds
      timeout)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' intf'
    - ' path'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 163
    functionName: ipmi::ServiceCache::ServiceCache
    functionSourceFile: /src/phosphor-host-ipmid/libipmid/utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ServiceCache::ServiceCache(const std::string& intf, const std::string&
      path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:166,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - ' intf'
    - ' path'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 168
    functionName: ipmi::ServiceCache::ServiceCache
    functionSourceFile: /src/phosphor-host-ipmid/libipmid/utils.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void ServiceCache::ServiceCache(std::string&& intf, std::string&& path)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isValid
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:172,1
    - Dst: get_unique_name
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:174,1
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:175,1
    - Dst: std::runtime_error
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:180,1
    - Dst: value
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:182,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ' bus'
    argTypes:
    - sdbusplus::bus_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 183
    functionName: '& ServiceCache::getService(sdbusplus::bus_t& bus)'
    functionSourceFile: /src/phosphor-host-ipmid/libipmid/utils.cpp
    functionUses: 0
    functionsReached:
    - get_unique_name
    - ipmi::getService
    - value
    - isValid
    - std::runtime_error
    linkageType: ''
    returnType: std::string
    signature: std::string & ServiceCache::getService(sdbusplus::bus_t& bus)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 189
    functionName: ipmi::ServiceCache::invalidate
    functionSourceFile: /src/phosphor-host-ipmid/libipmid/utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ServiceCache::invalidate()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_method_call
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:194,1
    - Dst: getService
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:194,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' bus'
    - intf
    - method
    argTypes:
    - sdbusplus::bus_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 196
    functionName: ipmi::ServiceCache::newMethodCall
    functionSourceFile: /src/phosphor-host-ipmid/libipmid/utils.cpp
    functionUses: 0
    functionsReached:
    - new_method_call
    - getService
    - c_str
    linkageType: ''
    returnType: sdbusplus::message_t
    signature: "sdbusplus::message_t ServiceCache::newMethodCall(\n    sdbusplus::bus_t&
      bus, const char* intf, const char* method)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_unique_name
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' bus'
    argTypes:
    - sdbusplus::bus_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 201
    functionName: ipmi::ServiceCache::isValid
    functionSourceFile: /src/phosphor-host-ipmid/libipmid/utils.cpp
    functionUses: 0
    functionsReached:
    - get_unique_name
    linkageType: ''
    returnType: bool
    signature: bool ServiceCache::isValid(sdbusplus::bus_t& bus) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: new_method_call
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:206,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:210,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:211,1
    - Dst: std::vector<std::string>
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:211,1
    - Dst: call
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:213,1
    - Dst: auto::unpack
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:216,1
    - Dst: auto::begin
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:219,1
    - Dst: auto::end
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:219,1
    - Dst: std::runtime_error
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:221,1
    - Dst: auto::begin
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:224,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ' bus'
    - ' intf'
    - ' path'
    argTypes:
    - sdbusplus::bus_t
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 225
    functionName: ipmi::getService
    functionSourceFile: /src/phosphor-host-ipmid/libipmid/utils.cpp
    functionUses: 108
    functionsReached:
    - auto::unpack
    - call
    - auto::append
    - auto::end
    - std::runtime_error
    - new_method_call
    - std::vector<std::string>
    - auto::begin
    linkageType: ''
    returnType: std::string
    signature: "std::string getService(sdbusplus::bus_t& bus, const std::string& intf,\n
      \                      const std::string& path)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_method_call
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:230,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:234,1
    - Dst: call
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:236,1
    - Dst: auto::unpack
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' bus'
    - ' interfaces'
    - ' subtreePath'
    - depth
    argTypes:
    - sdbusplus::bus_t
    - InterfaceList
    - std::string
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 240
    functionName: ipmi::getSubTree
    functionSourceFile: /src/phosphor-host-ipmid/libipmid/utils.cpp
    functionUses: 16
    functionsReached:
    - new_method_call
    - auto::unpack
    - call
    - auto::append
    linkageType: ''
    returnType: ObjectTree
    signature: "ObjectTree getSubTree(sdbusplus::bus_t& bus, const InterfaceList&
      interfaces,\n                      const std::string& subtreePath, int32_t depth)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:247,1
    - Dst: ipmi::getSubTree
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:249,1
    - Dst: ObjectTree::begin
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:250,1
    - Dst: ObjectTree::end
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:250,1
    - Dst: auto::first::find
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:252,1
    - Dst: ObjectTree::erase
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:254,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - ' bus'
    - ' serviceRoot'
    - ' interface'
    - ' match'
    argTypes:
    - sdbusplus::bus_t
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 263
    functionName: ipmi::getAllDbusObjects
    functionSourceFile: /src/phosphor-host-ipmid/libipmid/utils.cpp
    functionUses: 9
    functionsReached:
    - ObjectTree::erase
    - ObjectTree::end
    - ObjectTree::begin
    - ipmi::getSubTree
    - auto::first::find
    - std::vector::emplace_back
    linkageType: ''
    returnType: ipmi::ObjectTree
    signature: "ipmi::ObjectTree getAllDbusObjects(\n    sdbusplus::bus_t& bus, const
      std::string& serviceRoot,\n    const std::string& interface, const std::string&
      match)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_method_call
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:273,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:273,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:273,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:274,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:274,1
    - Dst: call
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - ' bus'
    - ' service'
    - ' objPath'
    - ' interface'
    - ' method'
    argTypes:
    - sdbusplus::bus_t
    - std::string
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 276
    functionName: ipmi::method_no_args::callDbusMethod
    functionSourceFile: /src/phosphor-host-ipmid/libipmid/utils.cpp
    functionUses: 0
    functionsReached:
    - new_method_call
    - c_str
    - call
    linkageType: ''
    returnType: void
    signature: "void callDbusMethod(sdbusplus::bus_t& bus, const std::string& service,\n
      \                   const std::string& objPath, const std::string& interface,\n
      \                   const std::string& method)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_method_call
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:273,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:273,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:273,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:274,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:274,1
    - Dst: call
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - ' bus'
    - ' service'
    - ' objPath'
    - ' interface'
    - ' method'
    argTypes:
    - sdbusplus::bus_t
    - std::string
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 276
    functionName: ipmi::method_no_args::callDbusMethod
    functionSourceFile: /src/phosphor-host-ipmid/libipmid/utils.cpp
    functionUses: 0
    functionsReached:
    - new_method_call
    - c_str
    - call
    linkageType: ''
    returnType: void
    signature: "void callDbusMethod(sdbusplus::bus_t& bus, const std::string& service,\n
      \                   const std::string& objPath, const std::string& interface,\n
      \                   const std::string& method)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Context::ptr::bus::yield_method_call
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:288,1
    - Dst: std::vector<std::string>
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:292,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:296,1
    - Dst: std::map::begin
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:296,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - ctx
    - ' intf'
    - ' path'
    - ' service'
    argTypes:
    - Context::ptr
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 299
    functionName: ipmi::getService
    functionSourceFile: /src/phosphor-host-ipmid/libipmid/utils.cpp
    functionUses: 108
    functionsReached:
    - std::move
    - std::vector<std::string>
    - Context::ptr::bus::yield_method_call
    - std::map::begin
    linkageType: ''
    returnType: boost::system::error_code
    signature: "boost::system::error_code getService(Context::ptr ctx, const std::string&
      intf,\n                                     const std::string& path,\n                                     std::string&
      service)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Context::ptr::bus::yield_method_call
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - ctx
    - ' interfaces'
    - ' subtreePath'
    - depth
    - ' objectTree'
    argTypes:
    - Context::ptr
    - InterfaceList
    - std::string
    - int32_t
    - ObjectTree
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 313
    functionName: ipmi::getSubTree
    functionSourceFile: /src/phosphor-host-ipmid/libipmid/utils.cpp
    functionUses: 17
    functionsReached:
    - Context::ptr::bus::yield_method_call
    linkageType: ''
    returnType: boost::system::error_code
    signature: "boost::system::error_code getSubTree(\n    Context::ptr ctx, const
      InterfaceList& interfaces,\n    const std::string& subtreePath, int32_t depth,
      ObjectTree& objectTree)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:321,1
    - Dst: ipmi::getSubTree
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:326,1
    - Dst: ObjectTree::empty
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:333,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:335,1
    - Dst: boost::system::errc::make_error_code
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:339,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:346,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:347,1
    - Dst: ObjectTree::begin
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:347,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:348,1
    - Dst: ObjectTree::begin
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:348,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:348,1
    - Dst: std::find_if
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:353,1
    - Dst: ObjectTree::begin
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:354,1
    - Dst: ObjectTree::end
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:354,1
    - Dst: first::find
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:355,1
    - Dst: ObjectTree::end
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:358,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:360,1
    - Dst: boost::system::errc::make_error_code
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:365,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:369,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:369,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:370,1
    - Dst: auto::second::begin
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:370,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 5
    argNames:
    - ctx
    - ' interface'
    - ' subtreePath'
    - ' match'
    - ' dbusObject'
    argTypes:
    - Context::ptr
    - std::string
    - std::string
    - std::string
    - DbusObjectInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 372
    functionName: ipmi::getDbusObject
    functionSourceFile: /src/phosphor-host-ipmid/libipmid/utils.cpp
    functionUses: 23
    functionsReached:
    - std::make_pair
    - ObjectTree::empty
    - auto::second::begin
    - ObjectTree::end
    - first::find
    - ObjectTree::begin
    - ipmi::getSubTree
    - begin
    - std::find_if
    - std::move
    - std::vector::emplace_back
    - lg2::error
    - boost::system::errc::make_error_code
    linkageType: ''
    returnType: boost::system::error_code
    signature: "boost::system::error_code getDbusObject(\n    Context::ptr ctx, const
      std::string& interface,\n    const std::string& subtreePath, const std::string&
      match,\n    DbusObjectInfo& dbusObject)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Context::ptr::bus::yield_method_call
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:379,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:380,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - ctx
    - ' service'
    - ' objPath'
    - ' interface'
    - ' properties'
    argTypes:
    - Context::ptr
    - std::string
    - std::string
    - std::string
    - PropertyMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 383
    functionName: ipmi::getAllDbusProperties
    functionSourceFile: /src/phosphor-host-ipmid/libipmid/utils.cpp
    functionUses: 19
    functionsReached:
    - c_str
    - Context::ptr::bus::yield_method_call
    linkageType: ''
    returnType: boost::system::error_code
    signature: "boost::system::error_code getAllDbusProperties(\n    Context::ptr
      ctx, const std::string& service, const std::string& objPath,\n    const std::string&
      interface, PropertyMap& properties)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Context::ptr::bus::yield_method_call
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:391,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:391,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - ctx
    - ' service'
    - ' objPath'
    - ' interface'
    - ' property'
    - ' value'
    argTypes:
    - Context::ptr
    - std::string
    - std::string
    - std::string
    - std::string
    - Value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 395
    functionName: ipmi::setDbusProperty
    functionSourceFile: /src/phosphor-host-ipmid/libipmid/utils.cpp
    functionUses: 46
    functionsReached:
    - c_str
    - Context::ptr::bus::yield_method_call
    linkageType: ''
    returnType: boost::system::error_code
    signature: "boost::system::error_code setDbusProperty(\n    Context::ptr ctx,
      const std::string& service, const std::string& objPath,\n    const std::string&
      interface, const std::string& property,\n    const Value& value)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:403,1
    - Dst: ipmi::getSubTree
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:407,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:413,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:413,1
    - Dst: auto::first::find
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:415,1
    - Dst: erase
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:417,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - ctx
    - ' serviceRoot'
    - ' interface'
    - ' match'
    - ' objectTree'
    argTypes:
    - Context::ptr
    - std::string
    - std::string
    - std::string
    - ObjectTree
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 426
    functionName: ipmi::getAllDbusObjects
    functionSourceFile: /src/phosphor-host-ipmid/libipmid/utils.cpp
    functionUses: 9
    functionsReached:
    - erase
    - end
    - ipmi::getSubTree
    - begin
    - auto::first::find
    - std::vector::emplace_back
    linkageType: ''
    returnType: boost::system::error_code
    signature: "boost::system::error_code getAllDbusObjects(\n    Context::ptr ctx,
      const std::string& serviceRoot,\n    const std::string& interface, const std::string&
      match,\n    ObjectTree& objectTree)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Context::ptr::bus::yield_method_call
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:433,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:434,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ctx
    - ' service'
    - ' objPath'
    - ' objects'
    argTypes:
    - Context::ptr
    - std::string
    - std::string
    - ObjectValueTree
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 437
    functionName: ipmi::getManagedObjects
    functionSourceFile: /src/phosphor-host-ipmid/libipmid/utils.cpp
    functionUses: 4
    functionsReached:
    - c_str
    - Context::ptr::bus::yield_method_call
    linkageType: ''
    returnType: boost::system::error_code
    signature: "boost::system::error_code getManagedObjects(\n    Context::ptr ctx,
      const std::string& service, const std::string& objPath,\n    ObjectValueTree&
      objects)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Context::ptr::bus::yield_method_call
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - ctx
    - ' service'
    - ' objPath'
    - ' interface'
    - ' method'
    argTypes:
    - Context::ptr
    - std::string
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 447
    functionName: ipmi::callDbusMethod
    functionSourceFile: /src/phosphor-host-ipmid/libipmid/utils.cpp
    functionUses: 7
    functionsReached:
    - Context::ptr::bus::yield_method_call
    linkageType: ''
    returnType: boost::system::error_code
    signature: "boost::system::error_code callDbusMethod(\n    Context::ptr ctx, const
      std::string& service, const std::string& objPath,\n    const std::string& interface,
      const std::string& method)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ::open
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:456,1
    - Dst: std::string::c_str
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:456,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:459,1
    - Dst: std::vector<uint8_t>::size
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:463,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:464,1
    - Dst: std::vector<uint8_t>::data
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:473,1
    - Dst: data
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:482,1
    - Dst: ::ioctl
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:491,1
    - Dst: ::close
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:492,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:496,1
    - Dst: resize
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:501,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 4
    argNames:
    - i2cBus
    - targetAddr
    - writeData
    - ' readBuf'
    argTypes:
    - std::string
    - uint8_t
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 505
    functionName: ipmi::i2cWriteRead
    functionSourceFile: /src/phosphor-host-ipmid/libipmid/utils.cpp
    functionUses: 1
    functionsReached:
    - ::open
    - std::vector<uint8_t>::data
    - std::string::c_str
    - size
    - ::ioctl
    - data
    - resize
    - ::close
    - std::vector<uint8_t>::size
    - lg2::error
    linkageType: ''
    returnType: ipmi::Cc
    signature: "ipmi::Cc i2cWriteRead(std::string i2cBus, const uint8_t targetAddr,\n
      \                     std::vector<uint8_t> writeData,\n                      std::vector<uint8_t>&
      readBuf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::getline
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:513,1
    - Dst: std::string::empty
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:515,1
    - Dst: std::vector::emplace_back
      Src: /src/phosphor-host-ipmid/libipmid/utils.cpp:517,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' srcStr'
    - delim
    argTypes:
    - std::string
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 521
    functionName: ipmi::split
    functionSourceFile: /src/phosphor-host-ipmid/libipmid/utils.cpp
    functionUses: 6
    functionsReached:
    - std::vector::emplace_back
    - std::getline
    - std::string::empty
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> split(const std::string& srcStr, char delim)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<boost::asio::signal_set>
      Src: /src/phosphor-host-ipmid/libipmid/signals.cpp:16,1
    - Dst: SignalHandler::asyncWait
      Src: /src/phosphor-host-ipmid/libipmid/signals.cpp:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' io'
    - sigNum
    argTypes:
    - std::shared_ptr<boost::asio::io_context>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 19
    functionName: SignalHandler::SignalHandler
    functionSourceFile: /src/phosphor-host-ipmid/libipmid/signals.cpp
    functionUses: 0
    functionsReached:
    - SignalHandler::asyncWait
    - std::make_unique<boost::asio::signal_set>
    linkageType: ''
    returnType: void
    signature: void SignalHandler(std::shared_ptr<boost::asio::io_context>& io, int
      sigNum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cancel
      Src: /src/phosphor-host-ipmid/libipmid/signals.cpp:24,1
    - Dst: clear
      Src: /src/phosphor-host-ipmid/libipmid/signals.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 26
    functionName: ~SignalHandler()
    functionSourceFile: /src/phosphor-host-ipmid/libipmid/signals.cpp
    functionUses: 0
    functionsReached:
    - cancel
    - clear
    linkageType: ''
    returnType: void
    signature: void ~SignalHandler()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/phosphor-host-ipmid/libipmid/signals.cpp:32,1
    - Dst: std::get<0>
      Src: /src/phosphor-host-ipmid/libipmid/signals.cpp:32,1
    - Dst: front
      Src: /src/phosphor-host-ipmid/libipmid/signals.cpp:32,1
    - Dst: emplace_front
      Src: /src/phosphor-host-ipmid/libipmid/signals.cpp:34,1
    - Dst: std::make_tuple
      Src: /src/phosphor-host-ipmid/libipmid/signals.cpp:34,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/libipmid/signals.cpp:38,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/libipmid/signals.cpp:39,1
    - Dst: std::get<0>
      Src: /src/phosphor-host-ipmid/libipmid/signals.cpp:39,1
    - Dst: emplace_after
      Src: /src/phosphor-host-ipmid/libipmid/signals.cpp:43,1
    - Dst: std::make_tuple
      Src: /src/phosphor-host-ipmid/libipmid/signals.cpp:43,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - prio
    - ' handler'
    argTypes:
    - int
    - std::function<SignalResponse(int)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 44
    functionName: SignalHandler::registerHandler
    functionSourceFile: /src/phosphor-host-ipmid/libipmid/signals.cpp
    functionUses: 0
    functionsReached:
    - emplace_after
    - emplace_front
    - front
    - std::make_tuple
    - std::get<0>
    - end
    - begin
    - empty
    linkageType: ''
    returnType: void
    signature: "void registerHandler(int prio,\n                         const std::function<SignalResponse(int)>&
      handler)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/libipmid/signals.cpp:50,1
    - Dst: message
      Src: /src/phosphor-host-ipmid/libipmid/signals.cpp:52,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/libipmid/signals.cpp:55,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/libipmid/signals.cpp:55,1
    - Dst: std::get<1>
      Src: /src/phosphor-host-ipmid/libipmid/signals.cpp:57,1
    - Dst: handler
      Src: /src/phosphor-host-ipmid/libipmid/signals.cpp:58,1
    - Dst: SignalHandler::asyncWait
      Src: /src/phosphor-host-ipmid/libipmid/signals.cpp:64,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - ' ec'
    - sigNum
    argTypes:
    - boost::system::error_code
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 65
    functionName: SignalHandler::handleSignal
    functionSourceFile: /src/phosphor-host-ipmid/libipmid/signals.cpp
    functionUses: 0
    functionsReached:
    - SignalHandler::asyncWait
    - std::get<1>
    - lg2::error
    - handler
    - end
    - begin
    - message
    linkageType: ''
    returnType: void
    signature: void handleSignal(const boost::system::error_code& ec, int sigNum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: async_wait
      Src: /src/phosphor-host-ipmid/libipmid/signals.cpp:70,1
    - Dst: SignalHandler::handleSignal
      Src: /src/phosphor-host-ipmid/libipmid/signals.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: SignalHandler::asyncWait
    functionSourceFile: /src/phosphor-host-ipmid/libipmid/signals.cpp
    functionUses: 2
    functionsReached:
    - async_wait
    - SignalHandler::handleSignal
    linkageType: ''
    returnType: void
    signature: void asyncWait()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<boost::asio::signal_set>
      Src: /src/phosphor-host-ipmid/libipmid/signals.cpp:16,1
    - Dst: SignalHandler::asyncWait
      Src: /src/phosphor-host-ipmid/libipmid/signals.cpp:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' io'
    - sigNum
    argTypes:
    - std::shared_ptr<boost::asio::io_context>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 15
    functionDepth: 3
    functionLinenumber: 15
    functionLinenumberEnd: 19
    functionName: SignalHandler::SignalHandler
    functionSourceFile: /src/phosphor-host-ipmid/libipmid/signals.cpp
    functionUses: 0
    functionsReached:
    - SignalHandler::asyncWait
    - std::make_unique<boost::asio::signal_set>
    linkageType: ''
    returnType: void
    signature: void SignalHandler(std::shared_ptr<boost::asio::io_context>& io, int
      sigNum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cancel
      Src: /src/phosphor-host-ipmid/libipmid/signals.cpp:24,1
    - Dst: clear
      Src: /src/phosphor-host-ipmid/libipmid/signals.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 26
    functionName: ~SignalHandler()
    functionSourceFile: /src/phosphor-host-ipmid/libipmid/signals.cpp
    functionUses: 0
    functionsReached:
    - cancel
    - clear
    linkageType: ''
    returnType: void
    signature: void ~SignalHandler()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/phosphor-host-ipmid/libipmid/signals.cpp:32,1
    - Dst: std::get<0>
      Src: /src/phosphor-host-ipmid/libipmid/signals.cpp:32,1
    - Dst: front
      Src: /src/phosphor-host-ipmid/libipmid/signals.cpp:32,1
    - Dst: emplace_front
      Src: /src/phosphor-host-ipmid/libipmid/signals.cpp:34,1
    - Dst: std::make_tuple
      Src: /src/phosphor-host-ipmid/libipmid/signals.cpp:34,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/libipmid/signals.cpp:38,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/libipmid/signals.cpp:39,1
    - Dst: std::get<0>
      Src: /src/phosphor-host-ipmid/libipmid/signals.cpp:39,1
    - Dst: emplace_after
      Src: /src/phosphor-host-ipmid/libipmid/signals.cpp:43,1
    - Dst: std::make_tuple
      Src: /src/phosphor-host-ipmid/libipmid/signals.cpp:43,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - prio
    - ' handler'
    argTypes:
    - int
    - std::function<SignalResponse(int)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 44
    functionName: SignalHandler::registerHandler
    functionSourceFile: /src/phosphor-host-ipmid/libipmid/signals.cpp
    functionUses: 0
    functionsReached:
    - emplace_after
    - emplace_front
    - front
    - std::make_tuple
    - std::get<0>
    - end
    - begin
    - empty
    linkageType: ''
    returnType: void
    signature: "void registerHandler(int prio,\n                         const std::function<SignalResponse(int)>&
      handler)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/libipmid/signals.cpp:50,1
    - Dst: message
      Src: /src/phosphor-host-ipmid/libipmid/signals.cpp:52,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/libipmid/signals.cpp:55,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/libipmid/signals.cpp:55,1
    - Dst: std::get<1>
      Src: /src/phosphor-host-ipmid/libipmid/signals.cpp:57,1
    - Dst: handler
      Src: /src/phosphor-host-ipmid/libipmid/signals.cpp:58,1
    - Dst: SignalHandler::asyncWait
      Src: /src/phosphor-host-ipmid/libipmid/signals.cpp:64,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - ' ec'
    - sigNum
    argTypes:
    - boost::system::error_code
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 46
    functionDepth: 3
    functionLinenumber: 46
    functionLinenumberEnd: 65
    functionName: SignalHandler::handleSignal
    functionSourceFile: /src/phosphor-host-ipmid/libipmid/signals.cpp
    functionUses: 1
    functionsReached:
    - SignalHandler::asyncWait
    - std::get<1>
    - lg2::error
    - handler
    - end
    - begin
    - message
    linkageType: ''
    returnType: void
    signature: void handleSignal(const boost::system::error_code& ec, int sigNum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: async_wait
      Src: /src/phosphor-host-ipmid/libipmid/signals.cpp:70,1
    - Dst: SignalHandler::handleSignal
      Src: /src/phosphor-host-ipmid/libipmid/signals.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: SignalHandler::asyncWait
    functionSourceFile: /src/phosphor-host-ipmid/libipmid/signals.cpp
    functionUses: 4
    functionsReached:
    - async_wait
    - SignalHandler::handleSignal
    linkageType: ''
    returnType: void
    signature: void asyncWait()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/phosphor-host-ipmid/libipmid/signals.cpp:94,1
    - Dst: resize
      Src: /src/phosphor-host-ipmid/libipmid/signals.cpp:96,1
    - Dst: getIoContext
      Src: /src/phosphor-host-ipmid/libipmid/signals.cpp:101,1
    - Dst: std::make_unique<SignalHandler>
      Src: /src/phosphor-host-ipmid/libipmid/signals.cpp:103,1
    - Dst: registerHandler
      Src: /src/phosphor-host-ipmid/libipmid/signals.cpp:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - priority
    - signalNumber
    - ' handler'
    argTypes:
    - int
    - int
    - std::function<SignalResponse(int)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 106
    functionName: registerSignalHandler
    functionSourceFile: /src/phosphor-host-ipmid/libipmid/signals.cpp
    functionUses: 1
    functionsReached:
    - getIoContext
    - registerHandler
    - std::make_unique<SignalHandler>
    - resize
    - empty
    linkageType: ''
    returnType: void
    signature: "void registerSignalHandler(int priority, int signalNumber,\n                           const
      std::function<SignalResponse(int)>& handler)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' newIo'
    argTypes:
    - std::shared_ptr<boost::asio::io_context>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 17
    functionName: setIoContext
    functionSourceFile: /src/phosphor-host-ipmid/libipmid/sdbus-asio.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setIoContext(std::shared_ptr<boost::asio::io_context>& newIo)
  - 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: getIoContext
    functionSourceFile: /src/phosphor-host-ipmid/libipmid/sdbus-asio.cpp
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: std::shared_ptr<boost::asio::io_context>
    signature: std::shared_ptr<boost::asio::io_context> getIoContext()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' newBus'
    argTypes:
    - std::shared_ptr<sdbusplus::asio::connection>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 27
    functionName: setSdBus
    functionSourceFile: /src/phosphor-host-ipmid/libipmid/sdbus-asio.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setSdBus(std::shared_ptr<sdbusplus::asio::connection>& newBus)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: getSdBus
    functionSourceFile: /src/phosphor-host-ipmid/libipmid/sdbus-asio.cpp
    functionUses: 31
    functionsReached: []
    linkageType: ''
    returnType: std::shared_ptr<sdbusplus::asio::connection>
    signature: std::shared_ptr<sdbusplus::asio::connection> getSdBus()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: buildEntityMapFromFile
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:25,1
    - Dst: std::unique_ptr<EntityInfoMapContainer>
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:26,1
    - Dst: EntityInfoMapContainer::EntityInfoMapContainer
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:27,1
    - Dst: std::unique_ptr::get
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 31
    functionName: ipmi::sensor::EntityInfoMapContainer::getContainer
    functionSourceFile: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp
    functionUses: 12
    functionsReached:
    - buildEntityMapFromFile
    - std::unique_ptr::get
    - std::unique_ptr<EntityInfoMapContainer>
    - EntityInfoMapContainer::EntityInfoMapContainer
    linkageType: ''
    returnType: EntityInfoMapContainer
    signature: EntityInfoMapContainer * EntityInfoMapContainer::getContainer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: '& EntityInfoMapContainer::getIpmiEntityRecords()'
    functionSourceFile: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EntityInfoMap
    signature: EntityInfoMap & EntityInfoMapContainer::getIpmiEntityRecords()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::ifstream::is_open
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:45,1
    - Dst: nlohmann::json::parse
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:50,1
    - Dst: auto::is_discarded
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:51,1
    - Dst: ipmi::sensor::buildJsonEntityMap
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 57
    functionName: ipmi::sensor::buildEntityMapFromFile
    functionSourceFile: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp
    functionUses: 0
    functionsReached:
    - auto::is_discarded
    - ipmi::sensor::buildJsonEntityMap
    - std::ifstream::is_open
    - nlohmann::json::parse
    linkageType: ''
    returnType: EntityInfoMap
    signature: EntityInfoMap buildEntityMapFromFile()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: type
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:63,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:77,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:79,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:81,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:82,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:83,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:85,1
    - Dst: auto::type
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:87,1
    - Dst: std::runtime_error
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:89,1
    - Dst: auto::size
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:92,1
    - Dst: EntityInfo::containedEntities::size
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:92,1
    - Dst: std::runtime_error
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:94,1
    - Dst: std::to_string
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:96,1
    - Dst: EntityInfo::containedEntities::size
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:96,1
    - Dst: EntityInfo::containedEntities::size
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:99,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:101,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:102,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:103,1
    - Dst: EntityInfoMap::insert
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:106,1
    - Dst: EntityInfoMap::clear
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:112,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - nlohmann::json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 116
    functionName: ipmi::sensor::buildJsonEntityMap
    functionSourceFile: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp
    functionUses: 49
    functionsReached:
    - type
    - std::make_pair
    - std::to_string
    - EntityInfoMap::clear
    - auto::type
    - std::runtime_error
    - at
    - auto::size
    - EntityInfoMap::insert
    - EntityInfo::containedEntities::size
    linkageType: ''
    returnType: EntityInfoMap
    signature: EntityInfoMap buildJsonEntityMap(const nlohmann::json& data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: buildEntityMapFromFile
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:25,1
    - Dst: std::unique_ptr<EntityInfoMapContainer>
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:26,1
    - Dst: EntityInfoMapContainer::EntityInfoMapContainer
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:27,1
    - Dst: std::unique_ptr::get
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 31
    functionName: ipmi::sensor::EntityInfoMapContainer::getContainer
    functionSourceFile: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp
    functionUses: 12
    functionsReached:
    - buildEntityMapFromFile
    - std::unique_ptr::get
    - std::unique_ptr<EntityInfoMapContainer>
    - EntityInfoMapContainer::EntityInfoMapContainer
    linkageType: ''
    returnType: EntityInfoMapContainer
    signature: EntityInfoMapContainer * EntityInfoMapContainer::getContainer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: '& EntityInfoMapContainer::getIpmiEntityRecords()'
    functionSourceFile: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EntityInfoMap
    signature: EntityInfoMap & EntityInfoMapContainer::getIpmiEntityRecords()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::ifstream::is_open
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:45,1
    - Dst: nlohmann::json::parse
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:50,1
    - Dst: auto::is_discarded
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:51,1
    - Dst: ipmi::sensor::buildJsonEntityMap
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 57
    functionName: ipmi::sensor::buildEntityMapFromFile
    functionSourceFile: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp
    functionUses: 0
    functionsReached:
    - auto::is_discarded
    - ipmi::sensor::buildJsonEntityMap
    - std::ifstream::is_open
    - nlohmann::json::parse
    linkageType: ''
    returnType: EntityInfoMap
    signature: EntityInfoMap buildEntityMapFromFile()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: type
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:63,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:77,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:79,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:81,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:82,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:83,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:85,1
    - Dst: auto::type
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:87,1
    - Dst: std::runtime_error
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:89,1
    - Dst: auto::size
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:92,1
    - Dst: EntityInfo::containedEntities::size
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:92,1
    - Dst: std::runtime_error
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:94,1
    - Dst: std::to_string
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:96,1
    - Dst: EntityInfo::containedEntities::size
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:96,1
    - Dst: EntityInfo::containedEntities::size
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:99,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:101,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:102,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:103,1
    - Dst: EntityInfoMap::insert
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:106,1
    - Dst: EntityInfoMap::clear
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:112,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - nlohmann::json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 116
    functionName: ipmi::sensor::buildJsonEntityMap
    functionSourceFile: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp
    functionUses: 50
    functionsReached:
    - type
    - std::make_pair
    - std::to_string
    - EntityInfoMap::clear
    - auto::type
    - std::runtime_error
    - at
    - auto::size
    - EntityInfoMap::insert
    - EntityInfo::containedEntities::size
    linkageType: ''
    returnType: EntityInfoMap
    signature: EntityInfoMap buildJsonEntityMap(const nlohmann::json& data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: buildEntityMapFromFile
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:25,1
    - Dst: std::unique_ptr<EntityInfoMapContainer>
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:26,1
    - Dst: EntityInfoMapContainer::EntityInfoMapContainer
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:27,1
    - Dst: std::unique_ptr::get
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 31
    functionName: ipmi::sensor::EntityInfoMapContainer::getContainer
    functionSourceFile: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp
    functionUses: 12
    functionsReached:
    - buildEntityMapFromFile
    - std::unique_ptr::get
    - std::unique_ptr<EntityInfoMapContainer>
    - EntityInfoMapContainer::EntityInfoMapContainer
    linkageType: ''
    returnType: EntityInfoMapContainer
    signature: EntityInfoMapContainer * EntityInfoMapContainer::getContainer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: '& EntityInfoMapContainer::getIpmiEntityRecords()'
    functionSourceFile: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EntityInfoMap
    signature: EntityInfoMap & EntityInfoMapContainer::getIpmiEntityRecords()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::ifstream::is_open
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:45,1
    - Dst: nlohmann::json::parse
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:50,1
    - Dst: auto::is_discarded
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:51,1
    - Dst: ipmi::sensor::buildJsonEntityMap
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 57
    functionName: ipmi::sensor::buildEntityMapFromFile
    functionSourceFile: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp
    functionUses: 0
    functionsReached:
    - auto::is_discarded
    - ipmi::sensor::buildJsonEntityMap
    - std::ifstream::is_open
    - nlohmann::json::parse
    linkageType: ''
    returnType: EntityInfoMap
    signature: EntityInfoMap buildEntityMapFromFile()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: type
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:63,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:77,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:79,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:81,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:82,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:83,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:85,1
    - Dst: auto::type
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:87,1
    - Dst: std::runtime_error
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:89,1
    - Dst: auto::size
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:92,1
    - Dst: EntityInfo::containedEntities::size
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:92,1
    - Dst: std::runtime_error
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:94,1
    - Dst: std::to_string
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:96,1
    - Dst: EntityInfo::containedEntities::size
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:96,1
    - Dst: EntityInfo::containedEntities::size
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:99,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:101,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:102,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:103,1
    - Dst: EntityInfoMap::insert
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:106,1
    - Dst: EntityInfoMap::clear
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:112,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - nlohmann::json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 116
    functionName: ipmi::sensor::buildJsonEntityMap
    functionSourceFile: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp
    functionUses: 51
    functionsReached:
    - type
    - std::make_pair
    - std::to_string
    - EntityInfoMap::clear
    - auto::type
    - std::runtime_error
    - at
    - auto::size
    - EntityInfoMap::insert
    - EntityInfo::containedEntities::size
    linkageType: ''
    returnType: EntityInfoMap
    signature: EntityInfoMap buildJsonEntityMap(const nlohmann::json& data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: buildEntityMapFromFile
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:25,1
    - Dst: std::unique_ptr<EntityInfoMapContainer>
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:26,1
    - Dst: EntityInfoMapContainer::EntityInfoMapContainer
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:27,1
    - Dst: std::unique_ptr::get
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 31
    functionName: ipmi::sensor::EntityInfoMapContainer::getContainer
    functionSourceFile: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp
    functionUses: 12
    functionsReached:
    - buildEntityMapFromFile
    - std::unique_ptr::get
    - std::unique_ptr<EntityInfoMapContainer>
    - EntityInfoMapContainer::EntityInfoMapContainer
    linkageType: ''
    returnType: EntityInfoMapContainer
    signature: EntityInfoMapContainer * EntityInfoMapContainer::getContainer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: '& EntityInfoMapContainer::getIpmiEntityRecords()'
    functionSourceFile: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EntityInfoMap
    signature: EntityInfoMap & EntityInfoMapContainer::getIpmiEntityRecords()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::ifstream::is_open
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:45,1
    - Dst: nlohmann::json::parse
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:50,1
    - Dst: auto::is_discarded
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:51,1
    - Dst: ipmi::sensor::buildJsonEntityMap
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 57
    functionName: ipmi::sensor::buildEntityMapFromFile
    functionSourceFile: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp
    functionUses: 0
    functionsReached:
    - auto::is_discarded
    - ipmi::sensor::buildJsonEntityMap
    - std::ifstream::is_open
    - nlohmann::json::parse
    linkageType: ''
    returnType: EntityInfoMap
    signature: EntityInfoMap buildEntityMapFromFile()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: type
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:63,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:77,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:79,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:81,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:82,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:83,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:85,1
    - Dst: auto::type
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:87,1
    - Dst: std::runtime_error
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:89,1
    - Dst: auto::size
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:92,1
    - Dst: EntityInfo::containedEntities::size
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:92,1
    - Dst: std::runtime_error
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:94,1
    - Dst: std::to_string
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:96,1
    - Dst: EntityInfo::containedEntities::size
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:96,1
    - Dst: EntityInfo::containedEntities::size
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:99,1
    - Dst: std::make_pair
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:101,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:102,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:103,1
    - Dst: EntityInfoMap::insert
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:106,1
    - Dst: EntityInfoMap::clear
      Src: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp:112,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - nlohmann::json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 116
    functionName: ipmi::sensor::buildJsonEntityMap
    functionSourceFile: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp
    functionUses: 52
    functionsReached:
    - type
    - std::make_pair
    - std::to_string
    - EntityInfoMap::clear
    - auto::type
    - std::runtime_error
    - at
    - auto::size
    - EntityInfoMap::insert
    - EntityInfo::containedEntities::size
    linkageType: ''
    returnType: EntityInfoMap
    signature: EntityInfoMap buildJsonEntityMap(const nlohmann::json& data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sd_bus_open_system
      Src: /src/phosphor-host-ipmid/libipmid/systemintf-sdbus.cpp:25,1
    - Dst: std::make_unique<sdbusplus::asio::connection>
      Src: /src/phosphor-host-ipmid/libipmid/systemintf-sdbus.cpp:28,1
    - Dst: getIoContext
      Src: /src/phosphor-host-ipmid/libipmid/systemintf-sdbus.cpp:29,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 33
    functionName: ipmid_get_sdbus_plus_handler
    functionSourceFile: /src/phosphor-host-ipmid/libipmid/systemintf-sdbus.cpp
    functionUses: 1
    functionsReached:
    - getIoContext
    - sd_bus_open_system
    - std::make_unique<sdbusplus::asio::connection>
    linkageType: ''
    returnType: std::unique_ptr<sdbusplus::asio::connection>
    signature: std::unique_ptr<sdbusplus::asio::connection> & ipmid_get_sdbus_plus_handler()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdbusplus::bus::new_default
      Src: /src/phosphor-host-ipmid/softoff/mainapp.cpp:34,1
    - Dst: sdbusplus::server::manager_t
      Src: /src/phosphor-host-ipmid/softoff/mainapp.cpp:37,1
    - Dst: sdeventplus::Event::get_default
      Src: /src/phosphor-host-ipmid/softoff/mainapp.cpp:40,1
    - Dst: auto::attach_event
      Src: /src/phosphor-host-ipmid/softoff/mainapp.cpp:43,1
    - Dst: auto::get
      Src: /src/phosphor-host-ipmid/softoff/mainapp.cpp:43,1
    - Dst: auto::request_name
      Src: /src/phosphor-host-ipmid/softoff/mainapp.cpp:48,1
    - Dst: auto::get
      Src: /src/phosphor-host-ipmid/softoff/mainapp.cpp:51,1
    - Dst: phosphor::ipmi::SoftPowerOff::isCompleted
      Src: /src/phosphor-host-ipmid/softoff/mainapp.cpp:55,1
    - Dst: phosphor::ipmi::SoftPowerOff::isTimerExpired
      Src: /src/phosphor-host-ipmid/softoff/mainapp.cpp:55,1
    - Dst: auto::run
      Src: /src/phosphor-host-ipmid/softoff/mainapp.cpp:59,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/softoff/mainapp.cpp:63,1
    - Dst: phosphor::ipmi::SoftPowerOff::isTimerExpired
      Src: /src/phosphor-host-ipmid/softoff/mainapp.cpp:70,1
    - Dst: phosphor::ipmi::SoftPowerOff::responseReceived
      Src: /src/phosphor-host-ipmid/softoff/mainapp.cpp:71,1
    - Dst: report<error>
      Src: /src/phosphor-host-ipmid/softoff/mainapp.cpp:77,1
    - Dst: prev_entry<errorMetadata::TIMEOUT_IN_MSEC>
      Src: /src/phosphor-host-ipmid/softoff/mainapp.cpp:77,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 82
    functionName: main
    functionSourceFile: /src/phosphor-host-ipmid/softoff/mainapp.cpp
    functionUses: 0
    functionsReached:
    - phosphor::ipmi::SoftPowerOff::isCompleted
    - auto::get
    - auto::run
    - phosphor::ipmi::SoftPowerOff::responseReceived
    - auto::request_name
    - lg2::error
    - report<error>
    - sdbusplus::bus::new_default
    - prev_entry<errorMetadata::TIMEOUT_IN_MSEC>
    - phosphor::ipmi::SoftPowerOff::isTimerExpired
    - sdbusplus::server::manager_t
    - auto::attach_event
    - sdeventplus::Event::get_default
    linkageType: ''
    returnType: int
    signature: int main(int, char**)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdbusRule::type::signal
      Src: /src/phosphor-host-ipmid/softoff/softoff.hpp:45,1
    - Dst: sdbusRule::member
      Src: /src/phosphor-host-ipmid/softoff/softoff.hpp:45,1
    - Dst: find_openbmc_path
      Src: /src/phosphor-host-ipmid/softoff/softoff.hpp:46,1
    - Dst: get_type_from_interface
      Src: /src/phosphor-host-ipmid/softoff/softoff.hpp:47,1
    - Dst: sdbusRule::argN
      Src: /src/phosphor-host-ipmid/softoff/softoff.hpp:48,1
    - Dst: convertForMessage
      Src: /src/phosphor-host-ipmid/softoff/softoff.hpp:48,1
    - Dst: std::bind
      Src: /src/phosphor-host-ipmid/softoff/softoff.hpp:49,1
    - Dst: std::mem_fn
      Src: /src/phosphor-host-ipmid/softoff/softoff.hpp:49,1
    - Dst: emit_object_added
      Src: /src/phosphor-host-ipmid/softoff/softoff.hpp:54,1
    - Dst: phosphor::ipmi::SoftPowerOff::sendHostShutDownCmd
      Src: /src/phosphor-host-ipmid/softoff/softoff.hpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' bus'
    - event
    - objPath
    argTypes:
    - sdbusplus::bus_t
    - sd_event*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 61
    functionName: phosphor::ipmi::SoftPowerOff::SoftPowerOff
    functionSourceFile: /src/phosphor-host-ipmid/softoff/softoff.hpp
    functionUses: 0
    functionsReached:
    - convertForMessage
    - emit_object_added
    - sdbusRule::member
    - std::mem_fn
    - phosphor::ipmi::SoftPowerOff::sendHostShutDownCmd
    - sdbusRule::type::signal
    - sdbusRule::argN
    - std::bind
    - get_type_from_interface
    - find_openbmc_path
    linkageType: ''
    returnType: void
    signature: void SoftPowerOff(sdbusplus::bus_t& bus, sd_event* event, const char*
      objPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: phosphor::ipmi::SoftPowerOff::isCompleted
    functionSourceFile: /src/phosphor-host-ipmid/softoff/softoff.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto isCompleted()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isExpired
      Src: /src/phosphor-host-ipmid/softoff/softoff.hpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: phosphor::ipmi::SoftPowerOff::isTimerExpired
    functionSourceFile: /src/phosphor-host-ipmid/softoff/softoff.hpp
    functionUses: 1
    functionsReached:
    - isExpired
    linkageType: ''
    returnType: auto
    signature: auto isTimerExpired()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdbusRule::type::signal
      Src: /src/phosphor-host-ipmid/softoff/softoff.hpp:45,1
    - Dst: sdbusRule::member
      Src: /src/phosphor-host-ipmid/softoff/softoff.hpp:45,1
    - Dst: find_openbmc_path
      Src: /src/phosphor-host-ipmid/softoff/softoff.hpp:46,1
    - Dst: get_type_from_interface
      Src: /src/phosphor-host-ipmid/softoff/softoff.hpp:47,1
    - Dst: sdbusRule::argN
      Src: /src/phosphor-host-ipmid/softoff/softoff.hpp:48,1
    - Dst: convertForMessage
      Src: /src/phosphor-host-ipmid/softoff/softoff.hpp:48,1
    - Dst: std::bind
      Src: /src/phosphor-host-ipmid/softoff/softoff.hpp:49,1
    - Dst: std::mem_fn
      Src: /src/phosphor-host-ipmid/softoff/softoff.hpp:49,1
    - Dst: emit_object_added
      Src: /src/phosphor-host-ipmid/softoff/softoff.hpp:54,1
    - Dst: phosphor::ipmi::SoftPowerOff::sendHostShutDownCmd
      Src: /src/phosphor-host-ipmid/softoff/softoff.hpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' bus'
    - event
    - objPath
    argTypes:
    - sdbusplus::bus_t
    - sd_event*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 61
    functionName: phosphor::ipmi::SoftPowerOff::SoftPowerOff
    functionSourceFile: /src/phosphor-host-ipmid/softoff/softoff.hpp
    functionUses: 0
    functionsReached:
    - convertForMessage
    - emit_object_added
    - sdbusRule::member
    - std::mem_fn
    - phosphor::ipmi::SoftPowerOff::sendHostShutDownCmd
    - sdbusRule::type::signal
    - sdbusRule::argN
    - std::bind
    - get_type_from_interface
    - find_openbmc_path
    linkageType: ''
    returnType: void
    signature: void SoftPowerOff(sdbusplus::bus_t& bus, sd_event* event, const char*
      objPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: phosphor::ipmi::SoftPowerOff::isCompleted
    functionSourceFile: /src/phosphor-host-ipmid/softoff/softoff.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto isCompleted()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isExpired
      Src: /src/phosphor-host-ipmid/softoff/softoff.hpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: phosphor::ipmi::SoftPowerOff::isTimerExpired
    functionSourceFile: /src/phosphor-host-ipmid/softoff/softoff.hpp
    functionUses: 1
    functionsReached:
    - isExpired
    linkageType: ''
    returnType: auto
    signature: auto isTimerExpired()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdbusRule::type::signal
      Src: /src/phosphor-host-ipmid/softoff/softoff.hpp:45,1
    - Dst: sdbusRule::member
      Src: /src/phosphor-host-ipmid/softoff/softoff.hpp:45,1
    - Dst: find_openbmc_path
      Src: /src/phosphor-host-ipmid/softoff/softoff.hpp:46,1
    - Dst: get_type_from_interface
      Src: /src/phosphor-host-ipmid/softoff/softoff.hpp:47,1
    - Dst: sdbusRule::argN
      Src: /src/phosphor-host-ipmid/softoff/softoff.hpp:48,1
    - Dst: convertForMessage
      Src: /src/phosphor-host-ipmid/softoff/softoff.hpp:48,1
    - Dst: std::bind
      Src: /src/phosphor-host-ipmid/softoff/softoff.hpp:49,1
    - Dst: std::mem_fn
      Src: /src/phosphor-host-ipmid/softoff/softoff.hpp:49,1
    - Dst: emit_object_added
      Src: /src/phosphor-host-ipmid/softoff/softoff.hpp:54,1
    - Dst: phosphor::ipmi::SoftPowerOff::sendHostShutDownCmd
      Src: /src/phosphor-host-ipmid/softoff/softoff.hpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' bus'
    - event
    - objPath
    argTypes:
    - sdbusplus::bus_t
    - sd_event*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 61
    functionName: phosphor::ipmi::SoftPowerOff::SoftPowerOff
    functionSourceFile: /src/phosphor-host-ipmid/softoff/softoff.hpp
    functionUses: 0
    functionsReached:
    - convertForMessage
    - emit_object_added
    - sdbusRule::member
    - std::mem_fn
    - phosphor::ipmi::SoftPowerOff::sendHostShutDownCmd
    - sdbusRule::type::signal
    - sdbusRule::argN
    - std::bind
    - get_type_from_interface
    - find_openbmc_path
    linkageType: ''
    returnType: void
    signature: void SoftPowerOff(sdbusplus::bus_t& bus, sd_event* event, const char*
      objPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: phosphor::ipmi::SoftPowerOff::isCompleted
    functionSourceFile: /src/phosphor-host-ipmid/softoff/softoff.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto isCompleted()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isExpired
      Src: /src/phosphor-host-ipmid/softoff/softoff.hpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: phosphor::ipmi::SoftPowerOff::isTimerExpired
    functionSourceFile: /src/phosphor-host-ipmid/softoff/softoff.hpp
    functionUses: 1
    functionsReached:
    - isExpired
    linkageType: ''
    returnType: auto
    signature: auto isTimerExpired()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdbusRule::type::signal
      Src: /src/phosphor-host-ipmid/softoff/softoff.hpp:45,1
    - Dst: sdbusRule::member
      Src: /src/phosphor-host-ipmid/softoff/softoff.hpp:45,1
    - Dst: find_openbmc_path
      Src: /src/phosphor-host-ipmid/softoff/softoff.hpp:46,1
    - Dst: get_type_from_interface
      Src: /src/phosphor-host-ipmid/softoff/softoff.hpp:47,1
    - Dst: sdbusRule::argN
      Src: /src/phosphor-host-ipmid/softoff/softoff.hpp:48,1
    - Dst: convertForMessage
      Src: /src/phosphor-host-ipmid/softoff/softoff.hpp:48,1
    - Dst: std::bind
      Src: /src/phosphor-host-ipmid/softoff/softoff.hpp:49,1
    - Dst: std::mem_fn
      Src: /src/phosphor-host-ipmid/softoff/softoff.hpp:49,1
    - Dst: emit_object_added
      Src: /src/phosphor-host-ipmid/softoff/softoff.hpp:54,1
    - Dst: phosphor::ipmi::SoftPowerOff::sendHostShutDownCmd
      Src: /src/phosphor-host-ipmid/softoff/softoff.hpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' bus'
    - event
    - objPath
    argTypes:
    - sdbusplus::bus_t
    - sd_event*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 61
    functionName: phosphor::ipmi::SoftPowerOff::SoftPowerOff
    functionSourceFile: /src/phosphor-host-ipmid/softoff/softoff.hpp
    functionUses: 0
    functionsReached:
    - convertForMessage
    - emit_object_added
    - sdbusRule::member
    - std::mem_fn
    - phosphor::ipmi::SoftPowerOff::sendHostShutDownCmd
    - sdbusRule::type::signal
    - sdbusRule::argN
    - std::bind
    - get_type_from_interface
    - find_openbmc_path
    linkageType: ''
    returnType: void
    signature: void SoftPowerOff(sdbusplus::bus_t& bus, sd_event* event, const char*
      objPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: phosphor::ipmi::SoftPowerOff::isCompleted
    functionSourceFile: /src/phosphor-host-ipmid/softoff/softoff.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto isCompleted()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isExpired
      Src: /src/phosphor-host-ipmid/softoff/softoff.hpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: phosphor::ipmi::SoftPowerOff::isTimerExpired
    functionSourceFile: /src/phosphor-host-ipmid/softoff/softoff.hpp
    functionUses: 1
    functionsReached:
    - isExpired
    linkageType: ''
    returnType: auto
    signature: auto isTimerExpired()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:36,1
    - Dst: auto::c_str
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:37,1
    - Dst: new_method_call
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:39,1
    - Dst: auto::c_str
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:39,1
    - Dst: auto::c_str
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:39,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:42,1
    - Dst: convertForMessage
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:42,1
    - Dst: call
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:45,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:49,1
    - Dst: std::runtime_error
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 54
    functionName: phosphor::ipmi::SoftPowerOff::sendHostShutDownCmd
    functionSourceFile: /src/phosphor-host-ipmid/softoff/softoff.cpp
    functionUses: 4
    functionsReached:
    - auto::c_str
    - auto::append
    - ipmi::getService
    - call
    - std::runtime_error
    - convertForMessage
    - new_method_call
    - lg2::error
    linkageType: ''
    returnType: void
    signature: void SoftPowerOff::sendHostShutDownCmd()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:62,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:64,1
    - Dst: Host::convertResultFromString
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:68,1
    - Dst: "sdbusplus::server::xyz::openbmc_project::ipmi::internal::SoftPowerOff::\n
        \           responseReceived"
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:71,1
    - Dst: duration_cast<microseconds>
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:76,1
    - Dst: seconds
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:77,1
    - Dst: phosphor::ipmi::SoftPowerOff::startTimer
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:78,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:81,1
    - Dst: lg2::info
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:87,1
    - Dst: duration_cast<milliseconds>
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:90,1
    - Dst: seconds
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:91,1
    - Dst: count
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:90,1
    - Dst: lg2::info
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:99,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - sdbusplus::message_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 103
    functionName: phosphor::ipmi::SoftPowerOff::hostControlEvent
    functionSourceFile: /src/phosphor-host-ipmid/softoff/softoff.cpp
    functionUses: 0
    functionsReached:
    - duration_cast<microseconds>
    - read
    - lg2::error
    - count
    - lg2::debug
    - phosphor::ipmi::SoftPowerOff::startTimer
    - Host::convertResultFromString
    - "sdbusplus::server::xyz::openbmc_project::ipmi::internal::SoftPowerOff::\n            responseReceived"
    - lg2::info
    - duration_cast<milliseconds>
    - seconds
    linkageType: ''
    returnType: void
    signature: void SoftPowerOff::hostControlEvent(sdbusplus::message_t& msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: start
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' usec'
    argTypes:
    - std::chrono::microseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: phosphor::ipmi::SoftPowerOff::startTimer
    functionSourceFile: /src/phosphor-host-ipmid/softoff/softoff.cpp
    functionUses: 1
    functionsReached:
    - start
    linkageType: ''
    returnType: int
    signature: int SoftPowerOff::startTimer(const std::chrono::microseconds& usec)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stop
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:120,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:123,1
    - Dst: phosphor::ipmi::SoftPowerOff::responseReceived
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - response
    argTypes:
    - HostResponse
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 133
    functionName: phosphor::ipmi::SoftPowerOff::responseReceived
    functionSourceFile: /src/phosphor-host-ipmid/softoff/softoff.cpp
    functionUses: 2
    functionsReached:
    - stop
    - lg2::error
    - phosphor::ipmi::SoftPowerOff::responseReceived
    linkageType: ''
    returnType: auto
    signature: auto SoftPowerOff::responseReceived(HostResponse response) -> HostResponse
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:36,1
    - Dst: auto::c_str
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:37,1
    - Dst: new_method_call
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:39,1
    - Dst: auto::c_str
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:39,1
    - Dst: auto::c_str
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:39,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:42,1
    - Dst: convertForMessage
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:42,1
    - Dst: call
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:45,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:49,1
    - Dst: std::runtime_error
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 54
    functionName: phosphor::ipmi::SoftPowerOff::sendHostShutDownCmd
    functionSourceFile: /src/phosphor-host-ipmid/softoff/softoff.cpp
    functionUses: 4
    functionsReached:
    - auto::c_str
    - auto::append
    - ipmi::getService
    - call
    - std::runtime_error
    - convertForMessage
    - new_method_call
    - lg2::error
    linkageType: ''
    returnType: void
    signature: void SoftPowerOff::sendHostShutDownCmd()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:62,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:64,1
    - Dst: Host::convertResultFromString
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:68,1
    - Dst: "sdbusplus::server::xyz::openbmc_project::ipmi::internal::SoftPowerOff::\n
        \           responseReceived"
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:71,1
    - Dst: duration_cast<microseconds>
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:76,1
    - Dst: seconds
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:77,1
    - Dst: phosphor::ipmi::SoftPowerOff::startTimer
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:78,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:81,1
    - Dst: lg2::info
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:87,1
    - Dst: duration_cast<milliseconds>
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:90,1
    - Dst: seconds
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:91,1
    - Dst: count
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:90,1
    - Dst: lg2::info
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:99,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - sdbusplus::message_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 103
    functionName: phosphor::ipmi::SoftPowerOff::hostControlEvent
    functionSourceFile: /src/phosphor-host-ipmid/softoff/softoff.cpp
    functionUses: 0
    functionsReached:
    - duration_cast<microseconds>
    - read
    - lg2::error
    - count
    - lg2::debug
    - phosphor::ipmi::SoftPowerOff::startTimer
    - Host::convertResultFromString
    - "sdbusplus::server::xyz::openbmc_project::ipmi::internal::SoftPowerOff::\n            responseReceived"
    - lg2::info
    - duration_cast<milliseconds>
    - seconds
    linkageType: ''
    returnType: void
    signature: void SoftPowerOff::hostControlEvent(sdbusplus::message_t& msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: start
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' usec'
    argTypes:
    - std::chrono::microseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: phosphor::ipmi::SoftPowerOff::startTimer
    functionSourceFile: /src/phosphor-host-ipmid/softoff/softoff.cpp
    functionUses: 2
    functionsReached:
    - start
    linkageType: ''
    returnType: int
    signature: int SoftPowerOff::startTimer(const std::chrono::microseconds& usec)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stop
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:120,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:123,1
    - Dst: phosphor::ipmi::SoftPowerOff::responseReceived
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - response
    argTypes:
    - HostResponse
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 133
    functionName: phosphor::ipmi::SoftPowerOff::responseReceived
    functionSourceFile: /src/phosphor-host-ipmid/softoff/softoff.cpp
    functionUses: 3
    functionsReached:
    - stop
    - lg2::error
    - phosphor::ipmi::SoftPowerOff::responseReceived
    linkageType: ''
    returnType: auto
    signature: auto SoftPowerOff::responseReceived(HostResponse response) -> HostResponse
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:36,1
    - Dst: auto::c_str
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:37,1
    - Dst: new_method_call
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:39,1
    - Dst: auto::c_str
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:39,1
    - Dst: auto::c_str
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:39,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:42,1
    - Dst: convertForMessage
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:42,1
    - Dst: call
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:45,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:49,1
    - Dst: std::runtime_error
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 54
    functionName: phosphor::ipmi::SoftPowerOff::sendHostShutDownCmd
    functionSourceFile: /src/phosphor-host-ipmid/softoff/softoff.cpp
    functionUses: 4
    functionsReached:
    - auto::c_str
    - auto::append
    - ipmi::getService
    - call
    - std::runtime_error
    - convertForMessage
    - new_method_call
    - lg2::error
    linkageType: ''
    returnType: void
    signature: void SoftPowerOff::sendHostShutDownCmd()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:62,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:64,1
    - Dst: Host::convertResultFromString
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:68,1
    - Dst: "sdbusplus::server::xyz::openbmc_project::ipmi::internal::SoftPowerOff::\n
        \           responseReceived"
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:71,1
    - Dst: duration_cast<microseconds>
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:76,1
    - Dst: seconds
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:77,1
    - Dst: phosphor::ipmi::SoftPowerOff::startTimer
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:78,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:81,1
    - Dst: lg2::info
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:87,1
    - Dst: duration_cast<milliseconds>
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:90,1
    - Dst: seconds
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:91,1
    - Dst: count
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:90,1
    - Dst: lg2::info
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:99,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - sdbusplus::message_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 103
    functionName: phosphor::ipmi::SoftPowerOff::hostControlEvent
    functionSourceFile: /src/phosphor-host-ipmid/softoff/softoff.cpp
    functionUses: 0
    functionsReached:
    - duration_cast<microseconds>
    - read
    - lg2::error
    - count
    - lg2::debug
    - phosphor::ipmi::SoftPowerOff::startTimer
    - Host::convertResultFromString
    - "sdbusplus::server::xyz::openbmc_project::ipmi::internal::SoftPowerOff::\n            responseReceived"
    - lg2::info
    - duration_cast<milliseconds>
    - seconds
    linkageType: ''
    returnType: void
    signature: void SoftPowerOff::hostControlEvent(sdbusplus::message_t& msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: start
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' usec'
    argTypes:
    - std::chrono::microseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: phosphor::ipmi::SoftPowerOff::startTimer
    functionSourceFile: /src/phosphor-host-ipmid/softoff/softoff.cpp
    functionUses: 3
    functionsReached:
    - start
    linkageType: ''
    returnType: int
    signature: int SoftPowerOff::startTimer(const std::chrono::microseconds& usec)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stop
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:120,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:123,1
    - Dst: phosphor::ipmi::SoftPowerOff::responseReceived
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - response
    argTypes:
    - HostResponse
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 133
    functionName: phosphor::ipmi::SoftPowerOff::responseReceived
    functionSourceFile: /src/phosphor-host-ipmid/softoff/softoff.cpp
    functionUses: 4
    functionsReached:
    - stop
    - lg2::error
    - phosphor::ipmi::SoftPowerOff::responseReceived
    linkageType: ''
    returnType: auto
    signature: auto SoftPowerOff::responseReceived(HostResponse response) -> HostResponse
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getService
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:36,1
    - Dst: auto::c_str
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:37,1
    - Dst: new_method_call
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:39,1
    - Dst: auto::c_str
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:39,1
    - Dst: auto::c_str
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:39,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:42,1
    - Dst: convertForMessage
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:42,1
    - Dst: call
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:45,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:49,1
    - Dst: std::runtime_error
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 54
    functionName: phosphor::ipmi::SoftPowerOff::sendHostShutDownCmd
    functionSourceFile: /src/phosphor-host-ipmid/softoff/softoff.cpp
    functionUses: 4
    functionsReached:
    - auto::c_str
    - auto::append
    - ipmi::getService
    - call
    - std::runtime_error
    - convertForMessage
    - new_method_call
    - lg2::error
    linkageType: ''
    returnType: void
    signature: void SoftPowerOff::sendHostShutDownCmd()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:62,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:64,1
    - Dst: Host::convertResultFromString
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:68,1
    - Dst: "sdbusplus::server::xyz::openbmc_project::ipmi::internal::SoftPowerOff::\n
        \           responseReceived"
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:71,1
    - Dst: duration_cast<microseconds>
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:76,1
    - Dst: seconds
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:77,1
    - Dst: phosphor::ipmi::SoftPowerOff::startTimer
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:78,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:81,1
    - Dst: lg2::info
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:87,1
    - Dst: duration_cast<milliseconds>
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:90,1
    - Dst: seconds
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:91,1
    - Dst: count
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:90,1
    - Dst: lg2::info
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:99,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - sdbusplus::message_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 103
    functionName: phosphor::ipmi::SoftPowerOff::hostControlEvent
    functionSourceFile: /src/phosphor-host-ipmid/softoff/softoff.cpp
    functionUses: 0
    functionsReached:
    - duration_cast<microseconds>
    - read
    - lg2::error
    - count
    - lg2::debug
    - phosphor::ipmi::SoftPowerOff::startTimer
    - Host::convertResultFromString
    - "sdbusplus::server::xyz::openbmc_project::ipmi::internal::SoftPowerOff::\n            responseReceived"
    - lg2::info
    - duration_cast<milliseconds>
    - seconds
    linkageType: ''
    returnType: void
    signature: void SoftPowerOff::hostControlEvent(sdbusplus::message_t& msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: start
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' usec'
    argTypes:
    - std::chrono::microseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: phosphor::ipmi::SoftPowerOff::startTimer
    functionSourceFile: /src/phosphor-host-ipmid/softoff/softoff.cpp
    functionUses: 4
    functionsReached:
    - start
    linkageType: ''
    returnType: int
    signature: int SoftPowerOff::startTimer(const std::chrono::microseconds& usec)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stop
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:120,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:123,1
    - Dst: phosphor::ipmi::SoftPowerOff::responseReceived
      Src: /src/phosphor-host-ipmid/softoff/softoff.cpp:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - response
    argTypes:
    - HostResponse
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 133
    functionName: phosphor::ipmi::SoftPowerOff::responseReceived
    functionSourceFile: /src/phosphor-host-ipmid/softoff/softoff.cpp
    functionUses: 5
    functionsReached:
    - stop
    - lg2::error
    - phosphor::ipmi::SoftPowerOff::responseReceived
    linkageType: ''
    returnType: auto
    signature: auto SoftPowerOff::responseReceived(HostResponse response) -> HostResponse
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strverscmp
      Src: /src/phosphor-host-ipmid/include/dbus-sdr/sdrutils.hpp:42,1
    - Dst: std::string::c_str
      Src: /src/phosphor-host-ipmid/include/dbus-sdr/sdrutils.hpp:42,1
    - Dst: std::string::c_str
      Src: /src/phosphor-host-ipmid/include/dbus-sdr/sdrutils.hpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: operator()(std::string a, std::string b) const
    functionSourceFile: /src/phosphor-host-ipmid/include/dbus-sdr/sdrutils.hpp
    functionUses: 0
    functionsReached:
    - strverscmp
    - std::string::c_str
    linkageType: ''
    returnType: bool
    signature: bool operator()(std::string a, std::string b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: '& getName(void) const'
    functionSourceFile: /src/phosphor-host-ipmid/include/dbus-sdr/sdrutils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & getName(void) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: details::IPMIStatsEntry::updateName
    functionSourceFile: /src/phosphor-host-ipmid/include/dbus-sdr/sdrutils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void updateName(std::string_view name)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: std::isfinite
      Src: /src/phosphor-host-ipmid/include/dbus-sdr/sdrutils.hpp:99,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/include/dbus-sdr/sdrutils.hpp:104,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/include/dbus-sdr/sdrutils.hpp:121,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/include/dbus-sdr/sdrutils.hpp:132,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/include/dbus-sdr/sdrutils.hpp:147,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/include/dbus-sdr/sdrutils.hpp:156,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 2
    argNames:
    - reading
    - raw
    argTypes:
    - double
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 164
    functionName: details::IPMIStatsEntry::updateReading
    functionSourceFile: /src/phosphor-host-ipmid/include/dbus-sdr/sdrutils.hpp
    functionUses: 0
    functionsReached:
    - std::isfinite
    - lg2::error
    linkageType: ''
    returnType: bool
    signature: bool updateReading(double reading, int raw)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/phosphor-host-ipmid/include/dbus-sdr/sdrutils.hpp:178,1
    - Dst: sprintf
      Src: /src/phosphor-host-ipmid/include/dbus-sdr/sdrutils.hpp:182,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/include/dbus-sdr/sdrutils.hpp:182,1
    - Dst: IPMIStatsEntry::updateName
      Src: /src/phosphor-host-ipmid/include/dbus-sdr/sdrutils.hpp:183,1
    - Dst: push_back
      Src: /src/phosphor-host-ipmid/include/dbus-sdr/sdrutils.hpp:185,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/include/dbus-sdr/sdrutils.hpp:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - index
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 187
    functionName: details::IPMIStatsTable::padEntries
    functionSourceFile: /src/phosphor-host-ipmid/include/dbus-sdr/sdrutils.hpp
    functionUses: 0
    functionsReached:
    - IPMIStatsEntry::updateName
    - size
    - push_back
    - sprintf
    - std::move
    linkageType: ''
    returnType: void
    signature: void padEntries(size_t index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/phosphor-host-ipmid/include/dbus-sdr/sdrutils.hpp:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 193
    functionName: details::IPMIStatsTable::wipeTable
    functionSourceFile: /src/phosphor-host-ipmid/include/dbus-sdr/sdrutils.hpp
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void wipeTable(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: padEntries
      Src: /src/phosphor-host-ipmid/include/dbus-sdr/sdrutils.hpp:197,1
    - Dst: getName
      Src: /src/phosphor-host-ipmid/include/dbus-sdr/sdrutils.hpp:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - index
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 199
    functionName: '& getName(size_t index)'
    functionSourceFile: /src/phosphor-host-ipmid/include/dbus-sdr/sdrutils.hpp
    functionUses: 0
    functionsReached:
    - padEntries
    - getName
    linkageType: ''
    returnType: std::string
    signature: std::string & getName(size_t index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: details::IPMIStatsTable::padEntries
      Src: /src/phosphor-host-ipmid/include/dbus-sdr/sdrutils.hpp:203,1
    - Dst: details::IPMIStatsTable::updateName
      Src: /src/phosphor-host-ipmid/include/dbus-sdr/sdrutils.hpp:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - index
    - name
    argTypes:
    - size_t
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 205
    functionName: details::IPMIStatsTable::updateName
    functionSourceFile: /src/phosphor-host-ipmid/include/dbus-sdr/sdrutils.hpp
    functionUses: 1
    functionsReached:
    - details::IPMIStatsTable::padEntries
    - details::IPMIStatsTable::updateName
    linkageType: ''
    returnType: void
    signature: void updateName(size_t index, std::string_view name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: details::IPMIStatsTable::padEntries
      Src: /src/phosphor-host-ipmid/include/dbus-sdr/sdrutils.hpp:209,1
    - Dst: details::IPMIStatsTable::updateReading
      Src: /src/phosphor-host-ipmid/include/dbus-sdr/sdrutils.hpp:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - index
    - reading
    - raw
    argTypes:
    - size_t
    - double
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 211
    functionName: details::IPMIStatsTable::updateReading
    functionSourceFile: /src/phosphor-host-ipmid/include/dbus-sdr/sdrutils.hpp
    functionUses: 1
    functionsReached:
    - details::IPMIStatsTable::padEntries
    - details::IPMIStatsTable::updateReading
    linkageType: ''
    returnType: bool
    signature: bool updateReading(size_t index, double reading, int raw)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 223
    functionName: details::IPMIWriteEntry::getWritePermission
    functionSourceFile: /src/phosphor-host-ipmid/include/dbus-sdr/sdrutils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool getWritePermission(void) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - permission
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 228
    functionName: details::IPMIWriteEntry::setWritePermission
    functionSourceFile: /src/phosphor-host-ipmid/include/dbus-sdr/sdrutils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setWritePermission(bool permission)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/phosphor-host-ipmid/include/dbus-sdr/sdrutils.hpp:240,1
    - Dst: resize
      Src: /src/phosphor-host-ipmid/include/dbus-sdr/sdrutils.hpp:242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 244
    functionName: details::IPMIWriteTable::padEntries
    functionSourceFile: /src/phosphor-host-ipmid/include/dbus-sdr/sdrutils.hpp
    functionUses: 0
    functionsReached:
    - size
    - resize
    linkageType: ''
    returnType: void
    signature: void padEntries(size_t index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/phosphor-host-ipmid/include/dbus-sdr/sdrutils.hpp:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 250
    functionName: details::IPMIWriteTable::wipeTable
    functionSourceFile: /src/phosphor-host-ipmid/include/dbus-sdr/sdrutils.hpp
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void wipeTable(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: details::IPMIWriteTable::padEntries
      Src: /src/phosphor-host-ipmid/include/dbus-sdr/sdrutils.hpp:254,1
    - Dst: details::IPMIWriteTable::getWritePermission
      Src: /src/phosphor-host-ipmid/include/dbus-sdr/sdrutils.hpp:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - index
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 256
    functionName: details::IPMIWriteTable::getWritePermission
    functionSourceFile: /src/phosphor-host-ipmid/include/dbus-sdr/sdrutils.hpp
    functionUses: 1
    functionsReached:
    - details::IPMIWriteTable::getWritePermission
    - details::IPMIWriteTable::padEntries
    linkageType: ''
    returnType: bool
    signature: bool getWritePermission(size_t index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: details::IPMIWriteTable::padEntries
      Src: /src/phosphor-host-ipmid/include/dbus-sdr/sdrutils.hpp:260,1
    - Dst: details::IPMIWriteTable::setWritePermission
      Src: /src/phosphor-host-ipmid/include/dbus-sdr/sdrutils.hpp:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - index
    - permission
    argTypes:
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 262
    functionName: details::IPMIWriteTable::setWritePermission
    functionSourceFile: /src/phosphor-host-ipmid/include/dbus-sdr/sdrutils.hpp
    functionUses: 1
    functionsReached:
    - details::IPMIWriteTable::setWritePermission
    - details::IPMIWriteTable::padEntries
    linkageType: ''
    returnType: void
    signature: void setWritePermission(size_t index, bool permission)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: '& getName(void) const'
    functionSourceFile: /src/phosphor-host-ipmid/include/dbus-sdr/sdrutils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & getName(void) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: details::IPMIStatsEntry::updateName
    functionSourceFile: /src/phosphor-host-ipmid/include/dbus-sdr/sdrutils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void updateName(std::string_view name)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: std::isfinite
      Src: /src/phosphor-host-ipmid/include/dbus-sdr/sdrutils.hpp:99,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/include/dbus-sdr/sdrutils.hpp:104,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/include/dbus-sdr/sdrutils.hpp:121,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/include/dbus-sdr/sdrutils.hpp:132,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/include/dbus-sdr/sdrutils.hpp:147,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/include/dbus-sdr/sdrutils.hpp:156,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 2
    argNames:
    - reading
    - raw
    argTypes:
    - double
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 164
    functionName: details::IPMIStatsEntry::updateReading
    functionSourceFile: /src/phosphor-host-ipmid/include/dbus-sdr/sdrutils.hpp
    functionUses: 0
    functionsReached:
    - std::isfinite
    - lg2::error
    linkageType: ''
    returnType: bool
    signature: bool updateReading(double reading, int raw)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/phosphor-host-ipmid/include/dbus-sdr/sdrutils.hpp:178,1
    - Dst: sprintf
      Src: /src/phosphor-host-ipmid/include/dbus-sdr/sdrutils.hpp:182,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/include/dbus-sdr/sdrutils.hpp:182,1
    - Dst: IPMIStatsEntry::updateName
      Src: /src/phosphor-host-ipmid/include/dbus-sdr/sdrutils.hpp:183,1
    - Dst: push_back
      Src: /src/phosphor-host-ipmid/include/dbus-sdr/sdrutils.hpp:185,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/include/dbus-sdr/sdrutils.hpp:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - index
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 187
    functionName: details::IPMIStatsTable::padEntries
    functionSourceFile: /src/phosphor-host-ipmid/include/dbus-sdr/sdrutils.hpp
    functionUses: 2
    functionsReached:
    - IPMIStatsEntry::updateName
    - size
    - push_back
    - sprintf
    - std::move
    linkageType: ''
    returnType: void
    signature: void padEntries(size_t index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/phosphor-host-ipmid/include/dbus-sdr/sdrutils.hpp:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 193
    functionName: details::IPMIStatsTable::wipeTable
    functionSourceFile: /src/phosphor-host-ipmid/include/dbus-sdr/sdrutils.hpp
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void wipeTable(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: padEntries
      Src: /src/phosphor-host-ipmid/include/dbus-sdr/sdrutils.hpp:197,1
    - Dst: getName
      Src: /src/phosphor-host-ipmid/include/dbus-sdr/sdrutils.hpp:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - index
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 199
    functionName: '& getName(size_t index)'
    functionSourceFile: /src/phosphor-host-ipmid/include/dbus-sdr/sdrutils.hpp
    functionUses: 0
    functionsReached:
    - padEntries
    - getName
    linkageType: ''
    returnType: std::string
    signature: std::string & getName(size_t index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: details::IPMIStatsTable::padEntries
      Src: /src/phosphor-host-ipmid/include/dbus-sdr/sdrutils.hpp:203,1
    - Dst: details::IPMIStatsTable::updateName
      Src: /src/phosphor-host-ipmid/include/dbus-sdr/sdrutils.hpp:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - index
    - name
    argTypes:
    - size_t
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 205
    functionName: details::IPMIStatsTable::updateName
    functionSourceFile: /src/phosphor-host-ipmid/include/dbus-sdr/sdrutils.hpp
    functionUses: 2
    functionsReached:
    - details::IPMIStatsTable::padEntries
    - details::IPMIStatsTable::updateName
    linkageType: ''
    returnType: void
    signature: void updateName(size_t index, std::string_view name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: details::IPMIStatsTable::padEntries
      Src: /src/phosphor-host-ipmid/include/dbus-sdr/sdrutils.hpp:209,1
    - Dst: details::IPMIStatsTable::updateReading
      Src: /src/phosphor-host-ipmid/include/dbus-sdr/sdrutils.hpp:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - index
    - reading
    - raw
    argTypes:
    - size_t
    - double
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 211
    functionName: details::IPMIStatsTable::updateReading
    functionSourceFile: /src/phosphor-host-ipmid/include/dbus-sdr/sdrutils.hpp
    functionUses: 2
    functionsReached:
    - details::IPMIStatsTable::padEntries
    - details::IPMIStatsTable::updateReading
    linkageType: ''
    returnType: bool
    signature: bool updateReading(size_t index, double reading, int raw)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 223
    functionName: details::IPMIWriteEntry::getWritePermission
    functionSourceFile: /src/phosphor-host-ipmid/include/dbus-sdr/sdrutils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool getWritePermission(void) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - permission
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 228
    functionName: details::IPMIWriteEntry::setWritePermission
    functionSourceFile: /src/phosphor-host-ipmid/include/dbus-sdr/sdrutils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setWritePermission(bool permission)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/phosphor-host-ipmid/include/dbus-sdr/sdrutils.hpp:240,1
    - Dst: resize
      Src: /src/phosphor-host-ipmid/include/dbus-sdr/sdrutils.hpp:242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 244
    functionName: details::IPMIWriteTable::padEntries
    functionSourceFile: /src/phosphor-host-ipmid/include/dbus-sdr/sdrutils.hpp
    functionUses: 2
    functionsReached:
    - size
    - resize
    linkageType: ''
    returnType: void
    signature: void padEntries(size_t index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/phosphor-host-ipmid/include/dbus-sdr/sdrutils.hpp:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 250
    functionName: details::IPMIWriteTable::wipeTable
    functionSourceFile: /src/phosphor-host-ipmid/include/dbus-sdr/sdrutils.hpp
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void wipeTable(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: details::IPMIWriteTable::padEntries
      Src: /src/phosphor-host-ipmid/include/dbus-sdr/sdrutils.hpp:254,1
    - Dst: details::IPMIWriteTable::getWritePermission
      Src: /src/phosphor-host-ipmid/include/dbus-sdr/sdrutils.hpp:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - index
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 256
    functionName: details::IPMIWriteTable::getWritePermission
    functionSourceFile: /src/phosphor-host-ipmid/include/dbus-sdr/sdrutils.hpp
    functionUses: 2
    functionsReached:
    - details::IPMIWriteTable::getWritePermission
    - details::IPMIWriteTable::padEntries
    linkageType: ''
    returnType: bool
    signature: bool getWritePermission(size_t index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: details::IPMIWriteTable::padEntries
      Src: /src/phosphor-host-ipmid/include/dbus-sdr/sdrutils.hpp:260,1
    - Dst: details::IPMIWriteTable::setWritePermission
      Src: /src/phosphor-host-ipmid/include/dbus-sdr/sdrutils.hpp:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - index
    - permission
    argTypes:
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 262
    functionName: details::IPMIWriteTable::setWritePermission
    functionSourceFile: /src/phosphor-host-ipmid/include/dbus-sdr/sdrutils.hpp
    functionUses: 2
    functionsReached:
    - details::IPMIWriteTable::setWritePermission
    - details::IPMIWriteTable::padEntries
    linkageType: ''
    returnType: void
    signature: void setWritePermission(size_t index, bool permission)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::strcmp
      Src: /src/phosphor-host-ipmid/include/dbus-sdr/sdrutils.hpp:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 298
    functionName: operator()(const char* a, const char* b) const
    functionSourceFile: /src/phosphor-host-ipmid/include/dbus-sdr/sdrutils.hpp
    functionUses: 0
    functionsReached:
    - std::strcmp
    linkageType: ''
    returnType: bool
    signature: bool operator()(const char* a, const char* b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/phosphor-host-ipmid/include/dbus-sdr/storagecommands.hpp:110,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/include/dbus-sdr/storagecommands.hpp:110,1
    - Dst: std::copy
      Src: /src/phosphor-host-ipmid/include/dbus-sdr/storagecommands.hpp:115,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/include/dbus-sdr/storagecommands.hpp:115,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/include/dbus-sdr/storagecommands.hpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 9
    argNames:
    - recordID
    - address
    - chNumber
    - pwrStateNotification
    - capabilities
    - eid
    - entityInst
    - mfrDefined
    - ' sensorname'
    argTypes:
    - uint16_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 116
    functionName: Type12Record
    functionSourceFile: /src/phosphor-host-ipmid/include/dbus-sdr/storagecommands.hpp
    functionUses: 0
    functionsReached:
    - std::min
    - size
    - std::copy
    - begin
    linkageType: ''
    returnType: void
    signature: "void Type12Record(uint16_t recordID, uint8_t address, uint8_t chNumber,\n
      \                uint8_t pwrStateNotification, uint8_t capabilities,\n                 uint8_t
      eid, uint8_t entityInst, uint8_t mfrDefined,\n                 const std::string&
      sensorname)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: message::Request::ptr::makeResponse
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:49,1
    - Dst: message::Response::ptr::pack
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - request
    - cc
    argTypes:
    - message::Request::ptr
    - ipmi::Cc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 53
    functionName: ipmi::errorResponse
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/handler.hpp
    functionUses: 8
    functionsReached:
    - message::Request::ptr::makeResponse
    - message::Response::ptr::pack
    linkageType: ''
    returnType: message::Response::ptr
    signature: "message::Response::ptr errorResponse(\n    message::Request::ptr request,
      ipmi::Cc cc, Args&&... args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: message::Request::ptr::makeResponse
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - request
    - cc
    argTypes:
    - message::Request::ptr
    - ipmi::Cc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: ipmi::errorResponse
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/handler.hpp
    functionUses: 8
    functionsReached:
    - message::Request::ptr::makeResponse
    linkageType: ''
    returnType: message::Response::ptr
    signature: "message::Response::ptr errorResponse(\n    message::Request::ptr request,
      ipmi::Cc cc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - cc
    argTypes:
    - Cc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: ipmi::HandlerCompletion::HandlerCompletion
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HandlerCompletion(Cc cc) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: ipmi::HandlerCompletion::code
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Cc
    signature: Cc code() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - cc
    - what
    argTypes:
    - Cc
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 84
    functionName: ipmi::HandlerException::HandlerException
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HandlerException(Cc cc, const char* what)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - cc
    - ' what'
    argTypes:
    - Cc
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionName: ipmi::HandlerException::HandlerException
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/handler.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: void
    signature: void HandlerException(Cc cc, const std::string& what)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: abi::__cxa_demangle
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:93,1
    - Dst: abi::__cxa_current_exception_type
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 95
    functionName: ipmi::currentExceptionType
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/handler.hpp
    functionUses: 2
    functionsReached:
    - abi::__cxa_current_exception_type
    - abi::__cxa_demangle
    linkageType: ''
    returnType: char
    signature: char * currentExceptionType()
  - 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: ~HandlerBase()
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HandlerBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: executeCallback
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - request
    argTypes:
    - message::Request::ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 129
    functionName: ipmi::HandlerBase::call
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/handler.hpp
    functionUses: 0
    functionsReached:
    - executeCallback
    linkageType: ''
    returnType: message::Response::ptr
    signature: message::Response::ptr call(message::Request::ptr request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<Handler>
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' handler'
    argTypes:
    - Handler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 162
    functionName: ipmi::IpmiHandler::IpmiHandler
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/handler.hpp
    functionUses: 0
    functionsReached:
    - std::forward<Handler>
    linkageType: ''
    returnType: void
    signature: void IpmiHandler(Handler&& handler)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: message::Request::ptr::makeResponse
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:187,1
    - Dst: message::Request::ptr::unpack
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:198,1
    - Dst: std::optional::emplace
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:233,1
    - Dst: std::tuple_cat
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:233,1
    - Dst: std::forward_as_tuple
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:234,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:235,1
    - Dst: std::optional::emplace
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:241,1
    - Dst: std::tuple_cat
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:242,1
    - Dst: std::forward_as_tuple
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:242,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:243,1
    - Dst: std::optional::emplace
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:249,1
    - Dst: std::tuple_cat
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:249,1
    - Dst: std::forward_as_tuple
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:250,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:250,1
    - Dst: std::optional::emplace
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:255,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:255,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:261,1
    - Dst: std::apply
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:266,1
    - Dst: lg2::info
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:270,1
    - Dst: errorResponse
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:274,1
    - Dst: code
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:274,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:278,1
    - Dst: errorResponse
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:282,1
    - Dst: errorResponse
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:286,1
    - Dst: code
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:286,1
    - Dst: currentExceptionType
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:290,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:291,1
    - Dst: errorResponse
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:295,1
    - Dst: std::get<0>
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:298,1
    - Dst: std::get<1>
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:299,1
    - Dst: message::Response::ptr::pack
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:303,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    argCount: 1
    argNames:
    - request
    argTypes:
    - message::Request::ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 306
    functionName: ipmi::IpmiHandler::executeCallback
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/handler.hpp
    functionUses: 0
    functionsReached:
    - std::forward_as_tuple
    - errorResponse
    - code
    - std::tuple_cat
    - std::get<1>
    - std::move
    - std::get<0>
    - currentExceptionType
    - message::Request::ptr::makeResponse
    - lg2::info
    - message::Response::ptr::pack
    - message::Request::ptr::unpack
    - std::optional::emplace
    - std::apply
    - lg2::error
    linkageType: ''
    returnType: message::Response::ptr
    signature: "message::Response::ptr executeCallback(\n        message::Request::ptr
      request) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' handler'
    argTypes:
    - ipmid_callback_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 327
    functionName: ipmi::IpmiHandler<ipmid_callback_t>::IpmiHandler
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IpmiHandler(const ipmid_callback_t& handler, void* ctx = nullptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: message::Request::ptr::makeResponse
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:352,1
    - Dst: message::Response::ptr::payload::resize
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:354,1
    - Dst: message::Request::ptr::payload::size
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:356,1
    - Dst: handler_
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:361,1
    - Dst: message::Request::ptr::payload::data
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:362,1
    - Dst: message::Response::ptr::payload::data
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:363,1
    - Dst: lg2::info
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:367,1
    - Dst: errorResponse
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:371,1
    - Dst: code
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:371,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:375,1
    - Dst: errorResponse
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:379,1
    - Dst: errorResponse
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:383,1
    - Dst: code
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:383,1
    - Dst: currentExceptionType
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:387,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:388,1
    - Dst: errorResponse
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:392,1
    - Dst: message::Response::ptr::payload::resize
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:395,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - request
    argTypes:
    - message::Request::ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 397
    functionName: ipmi::IpmiHandler<ipmid_callback_t>::executeCallback
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/handler.hpp
    functionUses: 0
    functionsReached:
    - errorResponse
    - handler_
    - message::Response::ptr::payload::resize
    - message::Request::ptr::payload::size
    - currentExceptionType
    - message::Response::ptr::payload::data
    - message::Request::ptr::payload::data
    - message::Request::ptr::makeResponse
    - lg2::info
    - code
    - lg2::error
    linkageType: ''
    returnType: message::Response::ptr
    signature: "message::Response::ptr executeCallback(\n        message::Request::ptr
      request) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' handler'
    argTypes:
    - oem::Handler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 414
    functionName: ipmi::IpmiHandler<oem::Handler>::IpmiHandler
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IpmiHandler(const oem::Handler& handler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: message::Request::ptr::makeResponse
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:438,1
    - Dst: message::Response::ptr::payload::resize
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:440,1
    - Dst: message::Request::ptr::payload::size
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:442,1
    - Dst: handler_
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:447,1
    - Dst: message::Request::ptr::payload::data
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:448,1
    - Dst: message::Response::ptr::payload::data
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:449,1
    - Dst: lg2::info
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:453,1
    - Dst: errorResponse
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:457,1
    - Dst: code
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:457,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:461,1
    - Dst: errorResponse
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:465,1
    - Dst: errorResponse
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:469,1
    - Dst: code
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:469,1
    - Dst: currentExceptionType
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:473,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:474,1
    - Dst: errorResponse
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:478,1
    - Dst: message::Response::ptr::payload::resize
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:481,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - request
    argTypes:
    - message::Request::ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 483
    functionName: ipmi::IpmiHandler<oem::Handler>::executeCallback
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/handler.hpp
    functionUses: 0
    functionsReached:
    - errorResponse
    - handler_
    - message::Response::ptr::payload::resize
    - message::Request::ptr::payload::size
    - currentExceptionType
    - message::Response::ptr::payload::data
    - message::Request::ptr::payload::data
    - message::Request::ptr::makeResponse
    - lg2::info
    - code
    - lg2::error
    linkageType: ''
    returnType: message::Response::ptr
    signature: "message::Response::ptr executeCallback(\n        message::Request::ptr
      request) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IpmiHandler<ipmid_callback_t>::IpmiHandler<ipmid_callback_t>
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' handler'
    argTypes:
    - ipmid_callback_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 503
    functionName: ipmi::makeLegacyHandler
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/handler.hpp
    functionUses: 3
    functionsReached:
    - IpmiHandler<ipmid_callback_t>::IpmiHandler<ipmid_callback_t>
    linkageType: ''
    returnType: auto
    signature: "auto makeLegacyHandler(const ipmid_callback_t& handler,\n                              void*
      ctx = nullptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<oem::Handler>
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:520,1
    - Dst: IpmiHandler<oem::Handler>::Handler>
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:520,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' handler'
    argTypes:
    - oem::Handler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 522
    functionName: ipmi::makeLegacyHandler
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/handler.hpp
    functionUses: 3
    functionsReached:
    - std::forward<oem::Handler>
    - IpmiHandler<oem::Handler>::Handler>
    linkageType: ''
    returnType: auto
    signature: auto makeLegacyHandler(oem::Handler&& handler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<Handler>
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:541,1
    - Dst: IpmiHandler<Handler>::IpmiHandler<Handler>
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:541,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' handler'
    argTypes:
    - Handler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 543
    functionName: ipmi::makeHandler
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/handler.hpp
    functionUses: 0
    functionsReached:
    - std::forward<Handler>
    - IpmiHandler<Handler>::IpmiHandler<Handler>
    linkageType: ''
    returnType: auto
    signature: auto makeHandler(Handler&& handler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::makeHandler
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:578,1
    - Dst: std::forward<Handler>
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:578,1
    - Dst: ipmi::impl::registerHandler
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:579,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 5
    argNames:
    - prio
    - netFn
    - cmd
    - priv
    - ' handler'
    argTypes:
    - int
    - NetFn
    - Cmd
    - Privilege
    - Handler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 575
    functionDepth: 1
    functionLinenumber: 575
    functionLinenumberEnd: 580
    functionName: ipmi::registerHandler
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/handler.hpp
    functionUses: 16
    functionsReached:
    - ipmi::impl::registerHandler
    - std::forward<Handler>
    - ipmi::makeHandler
    linkageType: ''
    returnType: bool
    signature: "bool registerHandler(int prio, NetFn netFn, Cmd cmd, Privilege priv,\n
      \                    Handler&& handler)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::makeHandler
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:617,1
    - Dst: ipmi::impl::registerGroupHandler
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:618,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 5
    argNames:
    - prio
    - group
    - cmd
    - priv
    - ' handler'
    argTypes:
    - int
    - Group
    - Cmd
    - Privilege
    - Handler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 614
    functionDepth: 1
    functionLinenumber: 614
    functionLinenumberEnd: 619
    functionName: ipmi::registerGroupHandler
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/handler.hpp
    functionUses: 3
    functionsReached:
    - ipmi::impl::registerGroupHandler
    - ipmi::makeHandler
    linkageType: ''
    returnType: void
    signature: "void registerGroupHandler(int prio, Group group, Cmd cmd, Privilege
      priv,\n                          Handler&& handler)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::makeHandler
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:652,1
    - Dst: ipmi::impl::registerOemHandler
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:653,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 5
    argNames:
    - prio
    - iana
    - cmd
    - priv
    - ' handler'
    argTypes:
    - int
    - Iana
    - Cmd
    - Privilege
    - Handler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 649
    functionDepth: 1
    functionLinenumber: 649
    functionLinenumberEnd: 654
    functionName: ipmi::registerOemHandler
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/handler.hpp
    functionUses: 0
    functionsReached:
    - ipmi::impl::registerOemHandler
    - ipmi::makeHandler
    linkageType: ''
    returnType: void
    signature: "void registerOemHandler(int prio, Iana iana, Cmd cmd, Privilege priv,\n
      \                       Handler&& handler)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: message::Request::ptr::makeResponse
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:49,1
    - Dst: message::Response::ptr::pack
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - request
    - cc
    argTypes:
    - message::Request::ptr
    - ipmi::Cc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 53
    functionName: ipmi::errorResponse
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/handler.hpp
    functionUses: 8
    functionsReached:
    - message::Request::ptr::makeResponse
    - message::Response::ptr::pack
    linkageType: ''
    returnType: message::Response::ptr
    signature: "message::Response::ptr errorResponse(\n    message::Request::ptr request,
      ipmi::Cc cc, Args&&... args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: message::Request::ptr::makeResponse
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - request
    - cc
    argTypes:
    - message::Request::ptr
    - ipmi::Cc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: ipmi::errorResponse
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/handler.hpp
    functionUses: 8
    functionsReached:
    - message::Request::ptr::makeResponse
    linkageType: ''
    returnType: message::Response::ptr
    signature: "message::Response::ptr errorResponse(\n    message::Request::ptr request,
      ipmi::Cc cc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - cc
    argTypes:
    - Cc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: ipmi::HandlerCompletion::HandlerCompletion
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HandlerCompletion(Cc cc) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: ipmi::HandlerCompletion::code
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Cc
    signature: Cc code() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - cc
    - what
    argTypes:
    - Cc
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 84
    functionName: ipmi::HandlerException::HandlerException
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HandlerException(Cc cc, const char* what)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - cc
    - ' what'
    argTypes:
    - Cc
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionName: ipmi::HandlerException::HandlerException
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/handler.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: void
    signature: void HandlerException(Cc cc, const std::string& what)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: abi::__cxa_demangle
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:93,1
    - Dst: abi::__cxa_current_exception_type
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 95
    functionName: ipmi::currentExceptionType
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/handler.hpp
    functionUses: 2
    functionsReached:
    - abi::__cxa_current_exception_type
    - abi::__cxa_demangle
    linkageType: ''
    returnType: char
    signature: char * currentExceptionType()
  - 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: ~HandlerBase()
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HandlerBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: executeCallback
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - request
    argTypes:
    - message::Request::ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 129
    functionName: ipmi::HandlerBase::call
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/handler.hpp
    functionUses: 0
    functionsReached:
    - executeCallback
    linkageType: ''
    returnType: message::Response::ptr
    signature: message::Response::ptr call(message::Request::ptr request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<Handler>
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' handler'
    argTypes:
    - Handler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 162
    functionName: ipmi::IpmiHandler::IpmiHandler
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/handler.hpp
    functionUses: 0
    functionsReached:
    - std::forward<Handler>
    linkageType: ''
    returnType: void
    signature: void IpmiHandler(Handler&& handler)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: message::Request::ptr::makeResponse
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:187,1
    - Dst: message::Request::ptr::unpack
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:198,1
    - Dst: std::optional::emplace
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:233,1
    - Dst: std::tuple_cat
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:233,1
    - Dst: std::forward_as_tuple
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:234,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:235,1
    - Dst: std::optional::emplace
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:241,1
    - Dst: std::tuple_cat
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:242,1
    - Dst: std::forward_as_tuple
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:242,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:243,1
    - Dst: std::optional::emplace
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:249,1
    - Dst: std::tuple_cat
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:249,1
    - Dst: std::forward_as_tuple
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:250,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:250,1
    - Dst: std::optional::emplace
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:255,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:255,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:261,1
    - Dst: std::apply
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:266,1
    - Dst: lg2::info
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:270,1
    - Dst: errorResponse
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:274,1
    - Dst: code
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:274,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:278,1
    - Dst: errorResponse
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:282,1
    - Dst: errorResponse
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:286,1
    - Dst: code
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:286,1
    - Dst: currentExceptionType
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:290,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:291,1
    - Dst: errorResponse
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:295,1
    - Dst: std::get<0>
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:298,1
    - Dst: std::get<1>
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:299,1
    - Dst: message::Response::ptr::pack
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:303,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    argCount: 1
    argNames:
    - request
    argTypes:
    - message::Request::ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 306
    functionName: ipmi::IpmiHandler::executeCallback
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/handler.hpp
    functionUses: 0
    functionsReached:
    - std::forward_as_tuple
    - errorResponse
    - code
    - std::tuple_cat
    - std::get<1>
    - std::move
    - std::get<0>
    - currentExceptionType
    - message::Request::ptr::makeResponse
    - lg2::info
    - message::Response::ptr::pack
    - message::Request::ptr::unpack
    - std::optional::emplace
    - std::apply
    - lg2::error
    linkageType: ''
    returnType: message::Response::ptr
    signature: "message::Response::ptr executeCallback(\n        message::Request::ptr
      request) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' handler'
    argTypes:
    - ipmid_callback_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 327
    functionName: ipmi::IpmiHandler<ipmid_callback_t>::IpmiHandler
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IpmiHandler(const ipmid_callback_t& handler, void* ctx = nullptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: message::Request::ptr::makeResponse
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:352,1
    - Dst: message::Response::ptr::payload::resize
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:354,1
    - Dst: message::Request::ptr::payload::size
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:356,1
    - Dst: handler_
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:361,1
    - Dst: message::Request::ptr::payload::data
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:362,1
    - Dst: message::Response::ptr::payload::data
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:363,1
    - Dst: lg2::info
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:367,1
    - Dst: errorResponse
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:371,1
    - Dst: code
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:371,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:375,1
    - Dst: errorResponse
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:379,1
    - Dst: errorResponse
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:383,1
    - Dst: code
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:383,1
    - Dst: currentExceptionType
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:387,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:388,1
    - Dst: errorResponse
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:392,1
    - Dst: message::Response::ptr::payload::resize
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:395,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - request
    argTypes:
    - message::Request::ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 397
    functionName: ipmi::IpmiHandler<ipmid_callback_t>::executeCallback
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/handler.hpp
    functionUses: 0
    functionsReached:
    - errorResponse
    - handler_
    - message::Response::ptr::payload::resize
    - message::Request::ptr::payload::size
    - currentExceptionType
    - message::Response::ptr::payload::data
    - message::Request::ptr::payload::data
    - message::Request::ptr::makeResponse
    - lg2::info
    - code
    - lg2::error
    linkageType: ''
    returnType: message::Response::ptr
    signature: "message::Response::ptr executeCallback(\n        message::Request::ptr
      request) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' handler'
    argTypes:
    - oem::Handler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 414
    functionName: ipmi::IpmiHandler<oem::Handler>::IpmiHandler
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IpmiHandler(const oem::Handler& handler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: message::Request::ptr::makeResponse
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:438,1
    - Dst: message::Response::ptr::payload::resize
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:440,1
    - Dst: message::Request::ptr::payload::size
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:442,1
    - Dst: handler_
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:447,1
    - Dst: message::Request::ptr::payload::data
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:448,1
    - Dst: message::Response::ptr::payload::data
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:449,1
    - Dst: lg2::info
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:453,1
    - Dst: errorResponse
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:457,1
    - Dst: code
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:457,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:461,1
    - Dst: errorResponse
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:465,1
    - Dst: errorResponse
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:469,1
    - Dst: code
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:469,1
    - Dst: currentExceptionType
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:473,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:474,1
    - Dst: errorResponse
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:478,1
    - Dst: message::Response::ptr::payload::resize
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:481,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - request
    argTypes:
    - message::Request::ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 483
    functionName: ipmi::IpmiHandler<oem::Handler>::executeCallback
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/handler.hpp
    functionUses: 0
    functionsReached:
    - errorResponse
    - handler_
    - message::Response::ptr::payload::resize
    - message::Request::ptr::payload::size
    - currentExceptionType
    - message::Response::ptr::payload::data
    - message::Request::ptr::payload::data
    - message::Request::ptr::makeResponse
    - lg2::info
    - code
    - lg2::error
    linkageType: ''
    returnType: message::Response::ptr
    signature: "message::Response::ptr executeCallback(\n        message::Request::ptr
      request) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IpmiHandler<ipmid_callback_t>::IpmiHandler<ipmid_callback_t>
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' handler'
    argTypes:
    - ipmid_callback_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 503
    functionName: ipmi::makeLegacyHandler
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/handler.hpp
    functionUses: 3
    functionsReached:
    - IpmiHandler<ipmid_callback_t>::IpmiHandler<ipmid_callback_t>
    linkageType: ''
    returnType: auto
    signature: "auto makeLegacyHandler(const ipmid_callback_t& handler,\n                              void*
      ctx = nullptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<oem::Handler>
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:520,1
    - Dst: IpmiHandler<oem::Handler>::Handler>
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:520,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' handler'
    argTypes:
    - oem::Handler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 522
    functionName: ipmi::makeLegacyHandler
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/handler.hpp
    functionUses: 3
    functionsReached:
    - std::forward<oem::Handler>
    - IpmiHandler<oem::Handler>::Handler>
    linkageType: ''
    returnType: auto
    signature: auto makeLegacyHandler(oem::Handler&& handler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<Handler>
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:541,1
    - Dst: IpmiHandler<Handler>::IpmiHandler<Handler>
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:541,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' handler'
    argTypes:
    - Handler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 543
    functionName: ipmi::makeHandler
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/handler.hpp
    functionUses: 3
    functionsReached:
    - std::forward<Handler>
    - IpmiHandler<Handler>::IpmiHandler<Handler>
    linkageType: ''
    returnType: auto
    signature: auto makeHandler(Handler&& handler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::makeHandler
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:578,1
    - Dst: std::forward<Handler>
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:578,1
    - Dst: ipmi::impl::registerHandler
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:579,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 5
    argNames:
    - prio
    - netFn
    - cmd
    - priv
    - ' handler'
    argTypes:
    - int
    - NetFn
    - Cmd
    - Privilege
    - Handler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 575
    functionDepth: 1
    functionLinenumber: 575
    functionLinenumberEnd: 580
    functionName: ipmi::registerHandler
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/handler.hpp
    functionUses: 16
    functionsReached:
    - ipmi::impl::registerHandler
    - std::forward<Handler>
    - ipmi::makeHandler
    linkageType: ''
    returnType: bool
    signature: "bool registerHandler(int prio, NetFn netFn, Cmd cmd, Privilege priv,\n
      \                    Handler&& handler)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::makeHandler
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:617,1
    - Dst: ipmi::impl::registerGroupHandler
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:618,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 5
    argNames:
    - prio
    - group
    - cmd
    - priv
    - ' handler'
    argTypes:
    - int
    - Group
    - Cmd
    - Privilege
    - Handler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 614
    functionDepth: 1
    functionLinenumber: 614
    functionLinenumberEnd: 619
    functionName: ipmi::registerGroupHandler
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/handler.hpp
    functionUses: 3
    functionsReached:
    - ipmi::impl::registerGroupHandler
    - ipmi::makeHandler
    linkageType: ''
    returnType: void
    signature: "void registerGroupHandler(int prio, Group group, Cmd cmd, Privilege
      priv,\n                          Handler&& handler)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::makeHandler
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:652,1
    - Dst: ipmi::impl::registerOemHandler
      Src: /src/phosphor-host-ipmid/include/ipmid/handler.hpp:653,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 5
    argNames:
    - prio
    - iana
    - cmd
    - priv
    - ' handler'
    argTypes:
    - int
    - Iana
    - Cmd
    - Privilege
    - Handler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 649
    functionDepth: 1
    functionLinenumber: 649
    functionLinenumberEnd: 654
    functionName: ipmi::registerOemHandler
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/handler.hpp
    functionUses: 0
    functionsReached:
    - ipmi::impl::registerOemHandler
    - ipmi::makeHandler
    linkageType: ''
    returnType: void
    signature: "void registerOemHandler(int prio, Iana iana, Cmd cmd, Privilege priv,\n
      \                       Handler&& handler)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' entityRecords'
    argTypes:
    - EntityInfoMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: ipmi::sensor::EntityInfoMapContainer::EntityInfoMapContainer
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/entity_map_json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EntityInfoMapContainer(const EntityInfoMap& entityRecords)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' entityRecords'
    argTypes:
    - EntityInfoMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: ipmi::sensor::EntityInfoMapContainer::EntityInfoMapContainer
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/entity_map_json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EntityInfoMapContainer(const EntityInfoMap& entityRecords)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' entityRecords'
    argTypes:
    - EntityInfoMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: ipmi::sensor::EntityInfoMapContainer::EntityInfoMapContainer
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/entity_map_json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EntityInfoMapContainer(const EntityInfoMap& entityRecords)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' entityRecords'
    argTypes:
    - EntityInfoMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: ipmi::sensor::EntityInfoMapContainer::EntityInfoMapContainer
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/entity_map_json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EntityInfoMapContainer(const EntityInfoMap& entityRecords)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: boost::asio::post
      Src: /src/phosphor-host-ipmid/include/ipmid/api.hpp:51,1
    - Dst: getIoContext
      Src: /src/phosphor-host-ipmid/include/ipmid/api.hpp:51,1
    - Dst: std::forward<WorkFn>
      Src: /src/phosphor-host-ipmid/include/ipmid/api.hpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - work
    argTypes:
    - WorkFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: post_work
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/api.hpp
    functionUses: 4
    functionsReached:
    - getIoContext
    - std::forward<WorkFn>
    - boost::asio::post
    linkageType: ''
    returnType: void
    signature: void post_work(WorkFn work)
  - 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: ipmi::utility::size
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/utility.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t size()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::utility::size
      Src: /src/phosphor-host-ipmid/include/ipmid/utility.hpp:101,1
    - Dst: ipmi::utility::size
      Src: /src/phosphor-host-ipmid/include/ipmid/utility.hpp:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 107
    functionName: ipmi::utility::size
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/utility.hpp
    functionUses: 1
    functionsReached:
    - ipmi::utility::size
    linkageType: ''
    returnType: std::size_t
    signature: std::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: ipmi::utility::size
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/utility.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t size()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::utility::size
      Src: /src/phosphor-host-ipmid/include/ipmid/utility.hpp:101,1
    - Dst: ipmi::utility::size
      Src: /src/phosphor-host-ipmid/include/ipmid/utility.hpp:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 107
    functionName: ipmi::utility::size
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/utility.hpp
    functionUses: 2
    functionsReached:
    - ipmi::utility::size
    linkageType: ''
    returnType: std::size_t
    signature: std::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: ipmi::utility::size
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/utility.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t size()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::utility::size
      Src: /src/phosphor-host-ipmid/include/ipmid/utility.hpp:101,1
    - Dst: ipmi::utility::size
      Src: /src/phosphor-host-ipmid/include/ipmid/utility.hpp:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 107
    functionName: ipmi::utility::size
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/utility.hpp
    functionUses: 3
    functionsReached:
    - ipmi::utility::size
    linkageType: ''
    returnType: std::size_t
    signature: std::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: ipmi::utility::size
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/utility.hpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t size()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::utility::size
      Src: /src/phosphor-host-ipmid/include/ipmid/utility.hpp:101,1
    - Dst: ipmi::utility::size
      Src: /src/phosphor-host-ipmid/include/ipmid/utility.hpp:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 107
    functionName: ipmi::utility::size
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/utility.hpp
    functionUses: 4
    functionsReached:
    - ipmi::utility::size
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t size()
  - 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: ~FilterBase()
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/filter.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FilterBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/include/ipmid/filter.hpp:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' filter'
    argTypes:
    - Filter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: ipmi::IpmiFilter::IpmiFilter
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/filter.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void IpmiFilter(Filter&& filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: filter_
      Src: /src/phosphor-host-ipmid/include/ipmid/filter.hpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - request
    argTypes:
    - message::Request::ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: ipmi::IpmiFilter::call
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/filter.hpp
    functionUses: 0
    functionsReached:
    - filter_
    linkageType: ''
    returnType: ipmi::Cc
    signature: ipmi::Cc call(message::Request::ptr request) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<Filter>
      Src: /src/phosphor-host-ipmid/include/ipmid/filter.hpp:85,1
    - Dst: IpmiFilter<Filter>::IpmiFilter<Filter>
      Src: /src/phosphor-host-ipmid/include/ipmid/filter.hpp:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' filter'
    argTypes:
    - Filter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: ipmi::makeFilter
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/filter.hpp
    functionUses: 0
    functionsReached:
    - std::forward<Filter>
    - IpmiFilter<Filter>::IpmiFilter<Filter>
    linkageType: ''
    returnType: auto
    signature: auto makeFilter(Filter&& filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::makeFilter
      Src: /src/phosphor-host-ipmid/include/ipmid/filter.hpp:92,1
    - Dst: std::forward<Filter>
      Src: /src/phosphor-host-ipmid/include/ipmid/filter.hpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' filter'
    argTypes:
    - Filter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: ipmi::makeFilter
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/filter.hpp
    functionUses: 1
    functionsReached:
    - std::forward<Filter>
    - ipmi::makeFilter
    linkageType: ''
    returnType: auto
    signature: auto makeFilter(const Filter& filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::makeFilter
      Src: /src/phosphor-host-ipmid/include/ipmid/filter.hpp:125,1
    - Dst: std::forward<Filter>
      Src: /src/phosphor-host-ipmid/include/ipmid/filter.hpp:125,1
    - Dst: ipmi::impl::registerFilter
      Src: /src/phosphor-host-ipmid/include/ipmid/filter.hpp:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - prio
    - ' filter'
    argTypes:
    - int
    - Filter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 127
    functionName: ipmi::registerFilter
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/filter.hpp
    functionUses: 5
    functionsReached:
    - std::forward<Filter>
    - ipmi::makeFilter
    - ipmi::impl::registerFilter
    linkageType: ''
    returnType: void
    signature: void registerFilter(int prio, Filter&& filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::makeFilter
      Src: /src/phosphor-host-ipmid/include/ipmid/filter.hpp:132,1
    - Dst: ipmi::impl::registerFilter
      Src: /src/phosphor-host-ipmid/include/ipmid/filter.hpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - prio
    - ' filter'
    argTypes:
    - int
    - Filter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 134
    functionName: ipmi::registerFilter
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/filter.hpp
    functionUses: 5
    functionsReached:
    - ipmi::makeFilter
    - ipmi::impl::registerFilter
    linkageType: ''
    returnType: void
    signature: void registerFilter(int prio, const Filter& filter)
  - 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: ~FilterBase()
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/filter.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FilterBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/include/ipmid/filter.hpp:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' filter'
    argTypes:
    - Filter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: ipmi::IpmiFilter::IpmiFilter
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/filter.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void IpmiFilter(Filter&& filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: filter_
      Src: /src/phosphor-host-ipmid/include/ipmid/filter.hpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - request
    argTypes:
    - message::Request::ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: ipmi::IpmiFilter::call
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/filter.hpp
    functionUses: 0
    functionsReached:
    - filter_
    linkageType: ''
    returnType: ipmi::Cc
    signature: ipmi::Cc call(message::Request::ptr request) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<Filter>
      Src: /src/phosphor-host-ipmid/include/ipmid/filter.hpp:85,1
    - Dst: IpmiFilter<Filter>::IpmiFilter<Filter>
      Src: /src/phosphor-host-ipmid/include/ipmid/filter.hpp:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' filter'
    argTypes:
    - Filter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: ipmi::makeFilter
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/filter.hpp
    functionUses: 3
    functionsReached:
    - std::forward<Filter>
    - IpmiFilter<Filter>::IpmiFilter<Filter>
    linkageType: ''
    returnType: auto
    signature: auto makeFilter(Filter&& filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::makeFilter
      Src: /src/phosphor-host-ipmid/include/ipmid/filter.hpp:92,1
    - Dst: std::forward<Filter>
      Src: /src/phosphor-host-ipmid/include/ipmid/filter.hpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' filter'
    argTypes:
    - Filter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: ipmi::makeFilter
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/filter.hpp
    functionUses: 4
    functionsReached:
    - std::forward<Filter>
    - ipmi::makeFilter
    linkageType: ''
    returnType: auto
    signature: auto makeFilter(const Filter& filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::makeFilter
      Src: /src/phosphor-host-ipmid/include/ipmid/filter.hpp:125,1
    - Dst: std::forward<Filter>
      Src: /src/phosphor-host-ipmid/include/ipmid/filter.hpp:125,1
    - Dst: ipmi::impl::registerFilter
      Src: /src/phosphor-host-ipmid/include/ipmid/filter.hpp:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - prio
    - ' filter'
    argTypes:
    - int
    - Filter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 127
    functionName: ipmi::registerFilter
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/filter.hpp
    functionUses: 5
    functionsReached:
    - std::forward<Filter>
    - ipmi::makeFilter
    - ipmi::impl::registerFilter
    linkageType: ''
    returnType: void
    signature: void registerFilter(int prio, Filter&& filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::makeFilter
      Src: /src/phosphor-host-ipmid/include/ipmid/filter.hpp:132,1
    - Dst: ipmi::impl::registerFilter
      Src: /src/phosphor-host-ipmid/include/ipmid/filter.hpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - prio
    - ' filter'
    argTypes:
    - int
    - Filter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 134
    functionName: ipmi::registerFilter
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/filter.hpp
    functionUses: 5
    functionsReached:
    - ipmi::makeFilter
    - ipmi::impl::registerFilter
    linkageType: ''
    returnType: void
    signature: void registerFilter(int prio, const Filter& filter)
  - 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: ipmi::Context
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Context()
  - 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: ipmi::Context
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Context(const Context&)
  - 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 Context&)'
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Context
    signature: Context & operator=(const Context&)
  - 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: ipmi::Context
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Context(Context&&)
  - 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=(Context&&)'
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Context
    signature: Context & operator=(Context&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 11
    argNames:
    - bus
    - netFn
    - lun
    - cmd
    - channel
    - userId
    - sessionId
    - priv
    - rqSA
    - hostIdx
    - ' yield'
    argTypes:
    - std::shared_ptr<sdbusplus::asio::connection>
    - NetFn
    - uint8_t
    - Cmd
    - int
    - int
    - uint32_t
    - Privilege
    - int
    - int
    - boost::asio::yield_context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 53
    functionName: ipmi::Context
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Context(std::shared_ptr<sdbusplus::asio::connection> bus, NetFn
      netFn,\n            uint8_t lun, Cmd cmd, int channel, int userId, uint32_t
      sessionId,\n            Privilege priv, int rqSA, int hostIdx,\n            boost::asio::yield_context&
      yield)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: ipmi::message::Payload
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Payload()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 115
    functionName: ipmi::message::Payload
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Payload(const Payload&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 116
    functionName: '& operator=(const Payload&)'
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Payload
    signature: Payload & operator=(const Payload&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 117
    functionName: ipmi::message::Payload
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Payload(Payload&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 118
    functionName: '& operator=(Payload&&)'
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Payload
    signature: Payload & operator=(Payload&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - SecureBuffer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 120
    functionName: ipmi::message::Payload
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 4
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Payload(SecureBuffer&& data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:124,1
    - Dst: std::uncaught_exceptions
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:124,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:127,1
    - Dst: ipmi::message::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:129,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 131
    functionName: ~Payload()
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 0
    functionsReached:
    - lg2::error
    - std::uncaught_exceptions
    - ipmi::message::size
    linkageType: ''
    returnType: void
    signature: void ~Payload()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 142
    functionName: ipmi::message::size
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 2
    functionsReached:
    - ipmi::message::size
    linkageType: ''
    returnType: size_t
    signature: size_t size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::resize
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sz
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 151
    functionName: ipmi::message::resize
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 1
    functionsReached:
    - ipmi::message::resize
    linkageType: ''
    returnType: void
    signature: void resize(size_t sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::data
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 158
    functionName: ipmi::message::data
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 1
    functionsReached:
    - ipmi::message::data
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::data
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 165
    functionName: ipmi::message::data
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 2
    functionsReached:
    - ipmi::message::data
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * data() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::drain
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:187,1
    - Dst: insert
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:188,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:188,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:188,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:189,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - begin
    - end
    argTypes:
    - T*
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 190
    functionName: ipmi::message::append
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 0
    functionsReached:
    - ipmi::message::drain
    - reinterpret_cast<const uint8_t*>
    - end
    - insert
    linkageType: ''
    returnType: void
    signature: void append(T* begin, T* end)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::drain
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:204,1
    - Dst: ipmi::message::drain
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - count
    - bits
    argTypes:
    - size_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 214
    functionName: ipmi::message::appendBits
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 0
    functionsReached:
    - ipmi::message::drain
    linkageType: ''
    returnType: void
    signature: void appendBits(size_t count, uint8_t bits)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:233,1
    - Dst: static_cast<size_t>
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:233,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:234,1
    - Dst: push_back
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:235,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 239
    functionName: ipmi::message::drain
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 2
    functionsReached:
    - push_back
    - std::min
    - static_cast<uint8_t>
    - static_cast<size_t>
    linkageType: ''
    returnType: void
    signature: void drain(bool wholeBytesOnly = false)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 245
    functionName: ipmi::message::pack
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pack()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::getEthProp
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:262,1
    - Dst: std::forward<Arg>
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:262,1
    - Dst: ipmi::message::pack
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:267,1
    - Dst: std::forward<Args>
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:267,1
    - Dst: ipmi::message::drain
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:268,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ' arg'
    argTypes:
    - Arg
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 270
    functionName: ipmi::message::pack
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 1
    functionsReached:
    - ipmi::message::drain
    - ipmi::transport::getEthProp
    - std::forward<Arg>
    - std::forward<Args>
    - ipmi::message::pack
    linkageType: ''
    returnType: int
    signature: int pack(Arg&& arg, Args&&... args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:288,1
    - Dst: ipmi::message::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:288,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:288,1
    - Dst: insert
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:289,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:289,1
    - Dst: raw::begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:289,1
    - Dst: raw::end
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:289,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - ipmi::message::Payload
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 282
    functionDepth: 2
    functionLinenumber: 282
    functionLinenumberEnd: 291
    functionName: ipmi::message::prepend
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 0
    functionsReached:
    - insert
    - raw::size
    - reserve
    - raw::begin
    - raw::end
    - begin
    - ipmi::message::size
    linkageType: ''
    returnType: int
    signature: int prepend(const ipmi::message::Payload& p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::discardBits
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:317,1
    - Dst: ipmi::message::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:319,1
    - Dst: std::make_tuple
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:321,1
    - Dst: reinterpret_cast<T*>
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:322,1
    - Dst: ipmi::message::data
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:322,1
    - Dst: reinterpret_cast<T*>
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:323,1
    - Dst: ipmi::message::data
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:323,1
    - Dst: std::make_tuple
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:328,1
    - Dst: reinterpret_cast<T*>
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:328,1
    - Dst: reinterpret_cast<T*>
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:329,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - count
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 306
    functionDepth: 2
    functionLinenumber: 306
    functionLinenumberEnd: 330
    functionName: ipmi::message::pop
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 0
    functionsReached:
    - std::make_tuple
    - ipmi::message::data
    - reinterpret_cast<T*>
    - ipmi::message::discardBits
    - ipmi::message::size
    linkageType: ''
    returnType: auto
    signature: auto pop(size_t count)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:350,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - count
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 339
    functionDepth: 2
    functionLinenumber: 339
    functionLinenumberEnd: 365
    functionName: ipmi::message::fillBits
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 0
    functionsReached:
    - ipmi::message::size
    linkageType: ''
    returnType: bool
    signature: bool fillBits(size_t count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: convert_to
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:382,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - count
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 387
    functionName: ipmi::message::popBits
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 0
    functionsReached:
    - convert_to
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t popBits(size_t count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 396
    functionName: ipmi::message::discardBits
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void discardBits()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::discardBits
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 401
    functionDepth: 1
    functionLinenumber: 401
    functionLinenumberEnd: 406
    functionName: ipmi::message::reset
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 0
    functionsReached:
    - ipmi::message::discardBits
    linkageType: ''
    returnType: void
    signature: void reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:416,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 413
    functionDepth: 2
    functionLinenumber: 413
    functionLinenumberEnd: 417
    functionName: ipmi::message::fullyUnpacked
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 0
    functionsReached:
    - ipmi::message::size
    linkageType: ''
    returnType: bool
    signature: bool fullyUnpacked()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 423
    functionName: ipmi::message::unpack
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int unpack()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::getEthProp
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:440,1
    - Dst: std::forward<Arg>
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:440,1
    - Dst: ipmi::message::unpack
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:446,1
    - Dst: std::forward<Args>
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:446,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ' arg'
    argTypes:
    - Arg
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 447
    functionName: ipmi::message::unpack
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 1
    functionsReached:
    - std::forward<Args>
    - ipmi::transport::getEthProp
    - std::forward<Arg>
    - ipmi::message::unpack
    linkageType: ''
    returnType: int
    signature: int unpack(Arg&& arg, Args&&... args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::apply
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:470,1
    - Dst: ipmi::message::unpack
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:470,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - std::tuple<Types...>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 462
    functionDepth: 1
    functionLinenumber: 462
    functionLinenumberEnd: 479
    functionName: ipmi::message::unpack
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 2
    functionsReached:
    - std::apply
    - ipmi::message::unpack
    linkageType: ''
    returnType: int
    signature: int unpack(std::tuple<Types...>& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 507
    functionName: ipmi::message::Response
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Response()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 508
    functionName: ipmi::message::Response
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Response(const Response&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 509
    functionName: '& operator=(const Response&)'
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Response
    signature: Response & operator=(const Response&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 510
    functionName: ipmi::message::Response
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Response(Response&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 511
    functionName: '& operator=(Response&&)'
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Response
    signature: Response & operator=(Response&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 512
    functionName: ~Response()
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Response()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' context'
    argTypes:
    - Context::ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 518
    functionName: ipmi::message::Response
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Response(Context::ptr& context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::pack
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:532,1
    - Dst: std::forward<Args>
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:532,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 530
    functionDepth: 1
    functionLinenumber: 530
    functionLinenumberEnd: 533
    functionName: ipmi::message::pack
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 2
    functionsReached:
    - std::forward<Args>
    - ipmi::message::pack
    linkageType: ''
    returnType: int
    signature: int pack(Args&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::pack
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:550,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - std::tuple<Types...>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 548
    functionDepth: 1
    functionLinenumber: 548
    functionLinenumberEnd: 551
    functionName: ipmi::message::pack
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 3
    functionsReached:
    - ipmi::message::pack
    linkageType: ''
    returnType: int
    signature: int pack(std::tuple<Types...>& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::prepend
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - ipmi::message::Payload
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 563
    functionDepth: 1
    functionLinenumber: 563
    functionLinenumberEnd: 566
    functionName: ipmi::message::prepend
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 1
    functionsReached:
    - ipmi::message::prepend
    linkageType: ''
    returnType: int
    signature: int prepend(const ipmi::message::Payload& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 588
    functionName: ipmi::message::Request
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.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: 589
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 589
    functionName: ipmi::message::Request
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Request(const Request&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 590
    functionName: '& operator=(const Request&)'
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.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: 591
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 591
    functionName: ipmi::message::Request
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Request(Request&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 592
    functionName: '& operator=(Request&&)'
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.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: 593
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 593
    functionName: ~Request()
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Request()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<SecureBuffer>
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:598,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - context
    - ' d'
    argTypes:
    - Context::ptr
    - SecureBuffer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 599
    functionName: ipmi::message::Request
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 0
    functionsReached:
    - std::forward<SecureBuffer>
    linkageType: ''
    returnType: void
    signature: void Request(Context::ptr context, SecureBuffer&& d)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::unpack
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:613,1
    - Dst: std::forward<Args>
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:613,1
    - Dst: ipmi::message::fullyUnpacked
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:621,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 611
    functionDepth: 3
    functionLinenumber: 611
    functionLinenumberEnd: 628
    functionName: ipmi::message::unpack
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 3
    functionsReached:
    - ipmi::message::fullyUnpacked
    - std::forward<Args>
    - ipmi::message::unpack
    linkageType: ''
    returnType: int
    signature: int unpack(Args&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::apply
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:645,1
    - Dst: ipmi::message::unpack
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:645,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - std::tuple<Types...>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 643
    functionDepth: 1
    functionLinenumber: 643
    functionLinenumberEnd: 647
    functionName: ipmi::message::unpack
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 4
    functionsReached:
    - std::apply
    - ipmi::message::unpack
    linkageType: ''
    returnType: int
    signature: int unpack(std::tuple<Types...>& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<Response>
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:655,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 653
    functionDepth: 0
    functionLinenumber: 653
    functionLinenumberEnd: 656
    functionName: ipmi::message::makeResponse
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 0
    functionsReached:
    - std::make_shared<Response>
    linkageType: ''
    returnType: Response::ptr
    signature: Response::ptr makeResponse()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: ipmi::message::Payload
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Payload()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 115
    functionName: ipmi::message::Payload
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Payload(const Payload&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 116
    functionName: '& operator=(const Payload&)'
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Payload
    signature: Payload & operator=(const Payload&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 117
    functionName: ipmi::message::Payload
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Payload(Payload&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 118
    functionName: '& operator=(Payload&&)'
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Payload
    signature: Payload & operator=(Payload&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - SecureBuffer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 120
    functionName: ipmi::message::Payload
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 4
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Payload(SecureBuffer&& data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:124,1
    - Dst: std::uncaught_exceptions
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:124,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:127,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:129,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 131
    functionName: ~Payload()
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 0
    functionsReached:
    - size
    - lg2::error
    - std::uncaught_exceptions
    linkageType: ''
    returnType: void
    signature: void ~Payload()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 142
    functionName: ipmi::message::size
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 7
    functionsReached:
    - ipmi::message::size
    linkageType: ''
    returnType: size_t
    signature: size_t size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::resize
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sz
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 151
    functionName: ipmi::message::resize
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 2
    functionsReached:
    - ipmi::message::resize
    linkageType: ''
    returnType: void
    signature: void resize(size_t sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::data
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 158
    functionName: ipmi::message::data
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 4
    functionsReached:
    - ipmi::message::data
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::data
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 165
    functionName: ipmi::message::data
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 5
    functionsReached:
    - ipmi::message::data
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * data() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::drain
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:187,1
    - Dst: insert
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:188,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:188,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:188,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:189,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - begin
    - end
    argTypes:
    - T*
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 190
    functionName: ipmi::message::append
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 0
    functionsReached:
    - ipmi::message::drain
    - reinterpret_cast<const uint8_t*>
    - end
    - insert
    linkageType: ''
    returnType: void
    signature: void append(T* begin, T* end)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::drain
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:204,1
    - Dst: ipmi::message::drain
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - count
    - bits
    argTypes:
    - size_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 214
    functionName: ipmi::message::appendBits
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 0
    functionsReached:
    - ipmi::message::drain
    linkageType: ''
    returnType: void
    signature: void appendBits(size_t count, uint8_t bits)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:233,1
    - Dst: static_cast<size_t>
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:233,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:234,1
    - Dst: push_back
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:235,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 239
    functionName: ipmi::message::drain
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 5
    functionsReached:
    - push_back
    - std::min
    - static_cast<uint8_t>
    - static_cast<size_t>
    linkageType: ''
    returnType: void
    signature: void drain(bool wholeBytesOnly = false)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 245
    functionName: ipmi::message::pack
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pack()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::getEthProp
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:262,1
    - Dst: std::forward<Arg>
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:262,1
    - Dst: ipmi::message::pack
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:267,1
    - Dst: std::forward<Args>
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:267,1
    - Dst: ipmi::message::drain
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:268,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ' arg'
    argTypes:
    - Arg
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 270
    functionName: ipmi::message::pack
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 4
    functionsReached:
    - ipmi::message::drain
    - ipmi::transport::getEthProp
    - std::forward<Arg>
    - std::forward<Args>
    - ipmi::message::pack
    linkageType: ''
    returnType: int
    signature: int pack(Arg&& arg, Args&&... args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:288,1
    - Dst: ipmi::message::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:288,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:288,1
    - Dst: insert
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:289,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:289,1
    - Dst: raw::begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:289,1
    - Dst: raw::end
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:289,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - ipmi::message::Payload
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 282
    functionDepth: 2
    functionLinenumber: 282
    functionLinenumberEnd: 291
    functionName: ipmi::message::prepend
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 1
    functionsReached:
    - insert
    - raw::size
    - reserve
    - raw::begin
    - raw::end
    - begin
    - ipmi::message::size
    linkageType: ''
    returnType: int
    signature: int prepend(const ipmi::message::Payload& p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::discardBits
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:317,1
    - Dst: ipmi::message::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:319,1
    - Dst: std::make_tuple
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:321,1
    - Dst: reinterpret_cast<T*>
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:322,1
    - Dst: ipmi::message::data
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:322,1
    - Dst: reinterpret_cast<T*>
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:323,1
    - Dst: ipmi::message::data
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:323,1
    - Dst: std::make_tuple
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:328,1
    - Dst: reinterpret_cast<T*>
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:328,1
    - Dst: reinterpret_cast<T*>
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:329,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - count
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 306
    functionDepth: 2
    functionLinenumber: 306
    functionLinenumberEnd: 330
    functionName: ipmi::message::pop
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 0
    functionsReached:
    - std::make_tuple
    - ipmi::message::data
    - reinterpret_cast<T*>
    - ipmi::message::discardBits
    - ipmi::message::size
    linkageType: ''
    returnType: auto
    signature: auto pop(size_t count)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:350,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - count
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 339
    functionDepth: 2
    functionLinenumber: 339
    functionLinenumberEnd: 365
    functionName: ipmi::message::fillBits
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 0
    functionsReached:
    - ipmi::message::size
    linkageType: ''
    returnType: bool
    signature: bool fillBits(size_t count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: convert_to
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:382,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - count
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 387
    functionName: ipmi::message::popBits
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 0
    functionsReached:
    - convert_to
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t popBits(size_t count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 396
    functionName: ipmi::message::discardBits
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void discardBits()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::discardBits
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 401
    functionDepth: 1
    functionLinenumber: 401
    functionLinenumberEnd: 406
    functionName: ipmi::message::reset
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 0
    functionsReached:
    - ipmi::message::discardBits
    linkageType: ''
    returnType: void
    signature: void reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:416,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 413
    functionDepth: 2
    functionLinenumber: 413
    functionLinenumberEnd: 417
    functionName: ipmi::message::fullyUnpacked
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 1
    functionsReached:
    - ipmi::message::size
    linkageType: ''
    returnType: bool
    signature: bool fullyUnpacked()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 423
    functionName: ipmi::message::unpack
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int unpack()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::getEthProp
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:440,1
    - Dst: std::forward<Arg>
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:440,1
    - Dst: ipmi::message::unpack
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:446,1
    - Dst: std::forward<Args>
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:446,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ' arg'
    argTypes:
    - Arg
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 447
    functionName: ipmi::message::unpack
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 5
    functionsReached:
    - std::forward<Args>
    - ipmi::transport::getEthProp
    - std::forward<Arg>
    - ipmi::message::unpack
    linkageType: ''
    returnType: int
    signature: int unpack(Arg&& arg, Args&&... args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::apply
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:470,1
    - Dst: ipmi::message::unpack
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:470,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - std::tuple<Types...>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 462
    functionDepth: 1
    functionLinenumber: 462
    functionLinenumberEnd: 479
    functionName: ipmi::message::unpack
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 6
    functionsReached:
    - std::apply
    - ipmi::message::unpack
    linkageType: ''
    returnType: int
    signature: int unpack(std::tuple<Types...>& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 507
    functionName: ipmi::message::Response
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Response()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 508
    functionName: ipmi::message::Response
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Response(const Response&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 509
    functionName: '& operator=(const Response&)'
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Response
    signature: Response & operator=(const Response&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 510
    functionName: ipmi::message::Response
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Response(Response&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 511
    functionName: '& operator=(Response&&)'
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Response
    signature: Response & operator=(Response&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 512
    functionName: ~Response()
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Response()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' context'
    argTypes:
    - Context::ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 518
    functionName: ipmi::message::Response
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Response(Context::ptr& context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::pack
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:532,1
    - Dst: std::forward<Args>
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:532,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 530
    functionDepth: 1
    functionLinenumber: 530
    functionLinenumberEnd: 533
    functionName: ipmi::message::pack
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 5
    functionsReached:
    - std::forward<Args>
    - ipmi::message::pack
    linkageType: ''
    returnType: int
    signature: int pack(Args&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::pack
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:550,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - std::tuple<Types...>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 548
    functionDepth: 1
    functionLinenumber: 548
    functionLinenumberEnd: 551
    functionName: ipmi::message::pack
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 6
    functionsReached:
    - ipmi::message::pack
    linkageType: ''
    returnType: int
    signature: int pack(std::tuple<Types...>& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::prepend
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - ipmi::message::Payload
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 563
    functionDepth: 1
    functionLinenumber: 563
    functionLinenumberEnd: 566
    functionName: ipmi::message::prepend
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 2
    functionsReached:
    - ipmi::message::prepend
    linkageType: ''
    returnType: int
    signature: int prepend(const ipmi::message::Payload& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 588
    functionName: ipmi::message::Request
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.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: 589
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 589
    functionName: ipmi::message::Request
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Request(const Request&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 590
    functionName: '& operator=(const Request&)'
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.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: 591
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 591
    functionName: ipmi::message::Request
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Request(Request&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 592
    functionName: '& operator=(Request&&)'
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.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: 593
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 593
    functionName: ~Request()
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Request()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<SecureBuffer>
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:598,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - context
    - ' d'
    argTypes:
    - Context::ptr
    - SecureBuffer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 599
    functionName: ipmi::message::Request
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 0
    functionsReached:
    - std::forward<SecureBuffer>
    linkageType: ''
    returnType: void
    signature: void Request(Context::ptr context, SecureBuffer&& d)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::unpack
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:613,1
    - Dst: std::forward<Args>
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:613,1
    - Dst: ipmi::message::fullyUnpacked
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:621,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 611
    functionDepth: 3
    functionLinenumber: 611
    functionLinenumberEnd: 628
    functionName: ipmi::message::unpack
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 7
    functionsReached:
    - ipmi::message::fullyUnpacked
    - std::forward<Args>
    - ipmi::message::unpack
    linkageType: ''
    returnType: int
    signature: int unpack(Args&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::apply
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:645,1
    - Dst: ipmi::message::unpack
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:645,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - std::tuple<Types...>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 643
    functionDepth: 1
    functionLinenumber: 643
    functionLinenumberEnd: 647
    functionName: ipmi::message::unpack
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 8
    functionsReached:
    - std::apply
    - ipmi::message::unpack
    linkageType: ''
    returnType: int
    signature: int unpack(std::tuple<Types...>& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<Response>
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:655,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 653
    functionDepth: 0
    functionLinenumber: 653
    functionLinenumberEnd: 656
    functionName: ipmi::message::makeResponse
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 0
    functionsReached:
    - std::make_shared<Response>
    linkageType: ''
    returnType: Response::ptr
    signature: Response::ptr makeResponse()
  - 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: ipmi::Context
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Context()
  - 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: ipmi::Context
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Context(const Context&)
  - 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 Context&)'
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Context
    signature: Context & operator=(const Context&)
  - 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: ipmi::Context
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Context(Context&&)
  - 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=(Context&&)'
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Context
    signature: Context & operator=(Context&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 11
    argNames:
    - bus
    - netFn
    - lun
    - cmd
    - channel
    - userId
    - sessionId
    - priv
    - rqSA
    - hostIdx
    - ' yield'
    argTypes:
    - std::shared_ptr<sdbusplus::asio::connection>
    - NetFn
    - uint8_t
    - Cmd
    - int
    - int
    - uint32_t
    - Privilege
    - int
    - int
    - boost::asio::yield_context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 53
    functionName: ipmi::Context
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Context(std::shared_ptr<sdbusplus::asio::connection> bus, NetFn
      netFn,\n            uint8_t lun, Cmd cmd, int channel, int userId, uint32_t
      sessionId,\n            Privilege priv, int rqSA, int hostIdx,\n            boost::asio::yield_context&
      yield)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: ipmi::message::Payload
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Payload()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 115
    functionName: ipmi::message::Payload
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Payload(const Payload&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 116
    functionName: '& operator=(const Payload&)'
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Payload
    signature: Payload & operator=(const Payload&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 117
    functionName: ipmi::message::Payload
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Payload(Payload&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 118
    functionName: '& operator=(Payload&&)'
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Payload
    signature: Payload & operator=(Payload&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - SecureBuffer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 120
    functionName: ipmi::message::Payload
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 4
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Payload(SecureBuffer&& data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:124,1
    - Dst: std::uncaught_exceptions
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:124,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:127,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:129,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 131
    functionName: ~Payload()
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 0
    functionsReached:
    - size
    - lg2::error
    - std::uncaught_exceptions
    linkageType: ''
    returnType: void
    signature: void ~Payload()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 142
    functionName: ipmi::message::size
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 12
    functionsReached:
    - ipmi::message::size
    linkageType: ''
    returnType: size_t
    signature: size_t size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::resize
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sz
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 151
    functionName: ipmi::message::resize
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 3
    functionsReached:
    - ipmi::message::resize
    linkageType: ''
    returnType: void
    signature: void resize(size_t sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::data
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 158
    functionName: ipmi::message::data
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 7
    functionsReached:
    - ipmi::message::data
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::data
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 165
    functionName: ipmi::message::data
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 8
    functionsReached:
    - ipmi::message::data
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * data() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::drain
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:187,1
    - Dst: insert
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:188,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:188,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:188,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:189,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - begin
    - end
    argTypes:
    - T*
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 190
    functionName: ipmi::message::append
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 0
    functionsReached:
    - ipmi::message::drain
    - reinterpret_cast<const uint8_t*>
    - end
    - insert
    linkageType: ''
    returnType: void
    signature: void append(T* begin, T* end)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::drain
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:204,1
    - Dst: ipmi::message::drain
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - count
    - bits
    argTypes:
    - size_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 214
    functionName: ipmi::message::appendBits
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 0
    functionsReached:
    - ipmi::message::drain
    linkageType: ''
    returnType: void
    signature: void appendBits(size_t count, uint8_t bits)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:233,1
    - Dst: static_cast<size_t>
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:233,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:234,1
    - Dst: push_back
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:235,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 239
    functionName: ipmi::message::drain
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 8
    functionsReached:
    - push_back
    - std::min
    - static_cast<uint8_t>
    - static_cast<size_t>
    linkageType: ''
    returnType: void
    signature: void drain(bool wholeBytesOnly = false)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 245
    functionName: ipmi::message::pack
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pack()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::getEthProp
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:262,1
    - Dst: std::forward<Arg>
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:262,1
    - Dst: ipmi::message::pack
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:267,1
    - Dst: std::forward<Args>
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:267,1
    - Dst: ipmi::message::drain
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:268,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ' arg'
    argTypes:
    - Arg
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 270
    functionName: ipmi::message::pack
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 7
    functionsReached:
    - ipmi::message::drain
    - ipmi::transport::getEthProp
    - std::forward<Arg>
    - std::forward<Args>
    - ipmi::message::pack
    linkageType: ''
    returnType: int
    signature: int pack(Arg&& arg, Args&&... args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:288,1
    - Dst: ipmi::message::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:288,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:288,1
    - Dst: insert
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:289,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:289,1
    - Dst: raw::begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:289,1
    - Dst: raw::end
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:289,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - ipmi::message::Payload
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 282
    functionDepth: 2
    functionLinenumber: 282
    functionLinenumberEnd: 291
    functionName: ipmi::message::prepend
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 2
    functionsReached:
    - insert
    - raw::size
    - reserve
    - raw::begin
    - raw::end
    - begin
    - ipmi::message::size
    linkageType: ''
    returnType: int
    signature: int prepend(const ipmi::message::Payload& p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::discardBits
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:317,1
    - Dst: ipmi::message::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:319,1
    - Dst: std::make_tuple
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:321,1
    - Dst: reinterpret_cast<T*>
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:322,1
    - Dst: ipmi::message::data
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:322,1
    - Dst: reinterpret_cast<T*>
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:323,1
    - Dst: ipmi::message::data
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:323,1
    - Dst: std::make_tuple
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:328,1
    - Dst: reinterpret_cast<T*>
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:328,1
    - Dst: reinterpret_cast<T*>
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:329,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - count
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 306
    functionDepth: 2
    functionLinenumber: 306
    functionLinenumberEnd: 330
    functionName: ipmi::message::pop
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 0
    functionsReached:
    - std::make_tuple
    - ipmi::message::data
    - reinterpret_cast<T*>
    - ipmi::message::discardBits
    - ipmi::message::size
    linkageType: ''
    returnType: auto
    signature: auto pop(size_t count)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:350,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - count
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 339
    functionDepth: 2
    functionLinenumber: 339
    functionLinenumberEnd: 365
    functionName: ipmi::message::fillBits
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 0
    functionsReached:
    - ipmi::message::size
    linkageType: ''
    returnType: bool
    signature: bool fillBits(size_t count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: convert_to
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:382,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - count
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 387
    functionName: ipmi::message::popBits
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 0
    functionsReached:
    - convert_to
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t popBits(size_t count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 396
    functionName: ipmi::message::discardBits
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void discardBits()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::discardBits
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 401
    functionDepth: 1
    functionLinenumber: 401
    functionLinenumberEnd: 406
    functionName: ipmi::message::reset
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 0
    functionsReached:
    - ipmi::message::discardBits
    linkageType: ''
    returnType: void
    signature: void reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:416,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 413
    functionDepth: 2
    functionLinenumber: 413
    functionLinenumberEnd: 417
    functionName: ipmi::message::fullyUnpacked
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 2
    functionsReached:
    - ipmi::message::size
    linkageType: ''
    returnType: bool
    signature: bool fullyUnpacked()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 423
    functionName: ipmi::message::unpack
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int unpack()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::getEthProp
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:440,1
    - Dst: std::forward<Arg>
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:440,1
    - Dst: ipmi::message::unpack
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:446,1
    - Dst: std::forward<Args>
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:446,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ' arg'
    argTypes:
    - Arg
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 447
    functionName: ipmi::message::unpack
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 9
    functionsReached:
    - std::forward<Args>
    - ipmi::transport::getEthProp
    - std::forward<Arg>
    - ipmi::message::unpack
    linkageType: ''
    returnType: int
    signature: int unpack(Arg&& arg, Args&&... args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::apply
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:470,1
    - Dst: ipmi::message::unpack
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:470,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - std::tuple<Types...>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 462
    functionDepth: 1
    functionLinenumber: 462
    functionLinenumberEnd: 479
    functionName: ipmi::message::unpack
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 10
    functionsReached:
    - std::apply
    - ipmi::message::unpack
    linkageType: ''
    returnType: int
    signature: int unpack(std::tuple<Types...>& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 507
    functionName: ipmi::message::Response
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Response()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 508
    functionName: ipmi::message::Response
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Response(const Response&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 509
    functionName: '& operator=(const Response&)'
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Response
    signature: Response & operator=(const Response&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 510
    functionName: ipmi::message::Response
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Response(Response&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 511
    functionName: '& operator=(Response&&)'
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Response
    signature: Response & operator=(Response&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 512
    functionName: ~Response()
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Response()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' context'
    argTypes:
    - Context::ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 518
    functionName: ipmi::message::Response
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Response(Context::ptr& context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::pack
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:532,1
    - Dst: std::forward<Args>
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:532,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 530
    functionDepth: 1
    functionLinenumber: 530
    functionLinenumberEnd: 533
    functionName: ipmi::message::pack
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 8
    functionsReached:
    - std::forward<Args>
    - ipmi::message::pack
    linkageType: ''
    returnType: int
    signature: int pack(Args&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::pack
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:550,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - std::tuple<Types...>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 548
    functionDepth: 1
    functionLinenumber: 548
    functionLinenumberEnd: 551
    functionName: ipmi::message::pack
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 9
    functionsReached:
    - ipmi::message::pack
    linkageType: ''
    returnType: int
    signature: int pack(std::tuple<Types...>& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::prepend
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - ipmi::message::Payload
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 563
    functionDepth: 1
    functionLinenumber: 563
    functionLinenumberEnd: 566
    functionName: ipmi::message::prepend
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 3
    functionsReached:
    - ipmi::message::prepend
    linkageType: ''
    returnType: int
    signature: int prepend(const ipmi::message::Payload& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 588
    functionName: ipmi::message::Request
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.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: 589
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 589
    functionName: ipmi::message::Request
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Request(const Request&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 590
    functionName: '& operator=(const Request&)'
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.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: 591
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 591
    functionName: ipmi::message::Request
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Request(Request&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 592
    functionName: '& operator=(Request&&)'
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.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: 593
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 593
    functionName: ~Request()
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Request()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<SecureBuffer>
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:598,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - context
    - ' d'
    argTypes:
    - Context::ptr
    - SecureBuffer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 599
    functionName: ipmi::message::Request
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 0
    functionsReached:
    - std::forward<SecureBuffer>
    linkageType: ''
    returnType: void
    signature: void Request(Context::ptr context, SecureBuffer&& d)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::unpack
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:613,1
    - Dst: std::forward<Args>
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:613,1
    - Dst: ipmi::message::fullyUnpacked
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:621,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 611
    functionDepth: 3
    functionLinenumber: 611
    functionLinenumberEnd: 628
    functionName: ipmi::message::unpack
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 11
    functionsReached:
    - ipmi::message::fullyUnpacked
    - std::forward<Args>
    - ipmi::message::unpack
    linkageType: ''
    returnType: int
    signature: int unpack(Args&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::apply
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:645,1
    - Dst: ipmi::message::unpack
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:645,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - std::tuple<Types...>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 643
    functionDepth: 1
    functionLinenumber: 643
    functionLinenumberEnd: 647
    functionName: ipmi::message::unpack
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 12
    functionsReached:
    - std::apply
    - ipmi::message::unpack
    linkageType: ''
    returnType: int
    signature: int unpack(std::tuple<Types...>& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<Response>
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:655,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 653
    functionDepth: 0
    functionLinenumber: 653
    functionLinenumberEnd: 656
    functionName: ipmi::message::makeResponse
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 0
    functionsReached:
    - std::make_shared<Response>
    linkageType: ''
    returnType: Response::ptr
    signature: Response::ptr makeResponse()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: ipmi::message::Payload
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Payload()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 115
    functionName: ipmi::message::Payload
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Payload(const Payload&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 116
    functionName: '& operator=(const Payload&)'
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Payload
    signature: Payload & operator=(const Payload&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 117
    functionName: ipmi::message::Payload
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Payload(Payload&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 118
    functionName: '& operator=(Payload&&)'
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Payload
    signature: Payload & operator=(Payload&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - SecureBuffer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 120
    functionName: ipmi::message::Payload
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 4
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Payload(SecureBuffer&& data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:124,1
    - Dst: std::uncaught_exceptions
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:124,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:127,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:129,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 131
    functionName: ~Payload()
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 0
    functionsReached:
    - size
    - lg2::error
    - std::uncaught_exceptions
    linkageType: ''
    returnType: void
    signature: void ~Payload()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 142
    functionName: ipmi::message::size
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 17
    functionsReached:
    - ipmi::message::size
    linkageType: ''
    returnType: size_t
    signature: size_t size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::resize
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sz
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 151
    functionName: ipmi::message::resize
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 4
    functionsReached:
    - ipmi::message::resize
    linkageType: ''
    returnType: void
    signature: void resize(size_t sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::data
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 158
    functionName: ipmi::message::data
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 10
    functionsReached:
    - ipmi::message::data
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::data
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 165
    functionName: ipmi::message::data
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 11
    functionsReached:
    - ipmi::message::data
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * data() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::drain
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:187,1
    - Dst: insert
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:188,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:188,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:188,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:189,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - begin
    - end
    argTypes:
    - T*
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 190
    functionName: ipmi::message::append
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 0
    functionsReached:
    - ipmi::message::drain
    - reinterpret_cast<const uint8_t*>
    - end
    - insert
    linkageType: ''
    returnType: void
    signature: void append(T* begin, T* end)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::drain
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:204,1
    - Dst: ipmi::message::drain
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - count
    - bits
    argTypes:
    - size_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 214
    functionName: ipmi::message::appendBits
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 0
    functionsReached:
    - ipmi::message::drain
    linkageType: ''
    returnType: void
    signature: void appendBits(size_t count, uint8_t bits)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:233,1
    - Dst: static_cast<size_t>
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:233,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:234,1
    - Dst: push_back
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:235,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 239
    functionName: ipmi::message::drain
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 11
    functionsReached:
    - push_back
    - std::min
    - static_cast<uint8_t>
    - static_cast<size_t>
    linkageType: ''
    returnType: void
    signature: void drain(bool wholeBytesOnly = false)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 245
    functionName: ipmi::message::pack
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pack()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::getEthProp
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:262,1
    - Dst: std::forward<Arg>
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:262,1
    - Dst: ipmi::message::pack
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:267,1
    - Dst: std::forward<Args>
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:267,1
    - Dst: ipmi::message::drain
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:268,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ' arg'
    argTypes:
    - Arg
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 270
    functionName: ipmi::message::pack
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 10
    functionsReached:
    - ipmi::message::drain
    - ipmi::transport::getEthProp
    - std::forward<Arg>
    - std::forward<Args>
    - ipmi::message::pack
    linkageType: ''
    returnType: int
    signature: int pack(Arg&& arg, Args&&... args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:288,1
    - Dst: ipmi::message::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:288,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:288,1
    - Dst: insert
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:289,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:289,1
    - Dst: raw::begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:289,1
    - Dst: raw::end
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:289,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - ipmi::message::Payload
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 282
    functionDepth: 2
    functionLinenumber: 282
    functionLinenumberEnd: 291
    functionName: ipmi::message::prepend
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 3
    functionsReached:
    - insert
    - raw::size
    - reserve
    - raw::begin
    - raw::end
    - begin
    - ipmi::message::size
    linkageType: ''
    returnType: int
    signature: int prepend(const ipmi::message::Payload& p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::discardBits
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:317,1
    - Dst: ipmi::message::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:319,1
    - Dst: std::make_tuple
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:321,1
    - Dst: reinterpret_cast<T*>
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:322,1
    - Dst: ipmi::message::data
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:322,1
    - Dst: reinterpret_cast<T*>
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:323,1
    - Dst: ipmi::message::data
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:323,1
    - Dst: std::make_tuple
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:328,1
    - Dst: reinterpret_cast<T*>
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:328,1
    - Dst: reinterpret_cast<T*>
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:329,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - count
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 306
    functionDepth: 2
    functionLinenumber: 306
    functionLinenumberEnd: 330
    functionName: ipmi::message::pop
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 0
    functionsReached:
    - std::make_tuple
    - ipmi::message::data
    - reinterpret_cast<T*>
    - ipmi::message::discardBits
    - ipmi::message::size
    linkageType: ''
    returnType: auto
    signature: auto pop(size_t count)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:350,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - count
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 339
    functionDepth: 2
    functionLinenumber: 339
    functionLinenumberEnd: 365
    functionName: ipmi::message::fillBits
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 0
    functionsReached:
    - ipmi::message::size
    linkageType: ''
    returnType: bool
    signature: bool fillBits(size_t count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: convert_to
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:382,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - count
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 387
    functionName: ipmi::message::popBits
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 0
    functionsReached:
    - convert_to
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t popBits(size_t count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 396
    functionName: ipmi::message::discardBits
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void discardBits()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::discardBits
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 401
    functionDepth: 1
    functionLinenumber: 401
    functionLinenumberEnd: 406
    functionName: ipmi::message::reset
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 0
    functionsReached:
    - ipmi::message::discardBits
    linkageType: ''
    returnType: void
    signature: void reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:416,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 413
    functionDepth: 2
    functionLinenumber: 413
    functionLinenumberEnd: 417
    functionName: ipmi::message::fullyUnpacked
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 3
    functionsReached:
    - ipmi::message::size
    linkageType: ''
    returnType: bool
    signature: bool fullyUnpacked()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 423
    functionName: ipmi::message::unpack
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int unpack()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::getEthProp
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:440,1
    - Dst: std::forward<Arg>
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:440,1
    - Dst: ipmi::message::unpack
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:446,1
    - Dst: std::forward<Args>
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:446,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ' arg'
    argTypes:
    - Arg
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 447
    functionName: ipmi::message::unpack
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 13
    functionsReached:
    - std::forward<Args>
    - ipmi::transport::getEthProp
    - std::forward<Arg>
    - ipmi::message::unpack
    linkageType: ''
    returnType: int
    signature: int unpack(Arg&& arg, Args&&... args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::apply
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:470,1
    - Dst: ipmi::message::unpack
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:470,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - std::tuple<Types...>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 462
    functionDepth: 1
    functionLinenumber: 462
    functionLinenumberEnd: 479
    functionName: ipmi::message::unpack
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 14
    functionsReached:
    - std::apply
    - ipmi::message::unpack
    linkageType: ''
    returnType: int
    signature: int unpack(std::tuple<Types...>& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 507
    functionName: ipmi::message::Response
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Response()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 508
    functionName: ipmi::message::Response
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Response(const Response&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 509
    functionName: '& operator=(const Response&)'
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Response
    signature: Response & operator=(const Response&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 510
    functionName: ipmi::message::Response
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Response(Response&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 511
    functionName: '& operator=(Response&&)'
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Response
    signature: Response & operator=(Response&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 512
    functionName: ~Response()
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Response()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' context'
    argTypes:
    - Context::ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 518
    functionName: ipmi::message::Response
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Response(Context::ptr& context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::pack
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:532,1
    - Dst: std::forward<Args>
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:532,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 530
    functionDepth: 1
    functionLinenumber: 530
    functionLinenumberEnd: 533
    functionName: ipmi::message::pack
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 11
    functionsReached:
    - std::forward<Args>
    - ipmi::message::pack
    linkageType: ''
    returnType: int
    signature: int pack(Args&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::pack
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:550,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - std::tuple<Types...>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 548
    functionDepth: 1
    functionLinenumber: 548
    functionLinenumberEnd: 551
    functionName: ipmi::message::pack
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 12
    functionsReached:
    - ipmi::message::pack
    linkageType: ''
    returnType: int
    signature: int pack(std::tuple<Types...>& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::prepend
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - ipmi::message::Payload
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 563
    functionDepth: 1
    functionLinenumber: 563
    functionLinenumberEnd: 566
    functionName: ipmi::message::prepend
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 4
    functionsReached:
    - ipmi::message::prepend
    linkageType: ''
    returnType: int
    signature: int prepend(const ipmi::message::Payload& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 588
    functionName: ipmi::message::Request
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.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: 589
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 589
    functionName: ipmi::message::Request
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Request(const Request&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 590
    functionName: '& operator=(const Request&)'
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.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: 591
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 591
    functionName: ipmi::message::Request
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Request(Request&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 592
    functionName: '& operator=(Request&&)'
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.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: 593
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 593
    functionName: ~Request()
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Request()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<SecureBuffer>
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:598,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - context
    - ' d'
    argTypes:
    - Context::ptr
    - SecureBuffer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 599
    functionName: ipmi::message::Request
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 0
    functionsReached:
    - std::forward<SecureBuffer>
    linkageType: ''
    returnType: void
    signature: void Request(Context::ptr context, SecureBuffer&& d)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::unpack
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:613,1
    - Dst: std::forward<Args>
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:613,1
    - Dst: ipmi::message::fullyUnpacked
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:621,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 611
    functionDepth: 3
    functionLinenumber: 611
    functionLinenumberEnd: 628
    functionName: ipmi::message::unpack
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 15
    functionsReached:
    - ipmi::message::fullyUnpacked
    - std::forward<Args>
    - ipmi::message::unpack
    linkageType: ''
    returnType: int
    signature: int unpack(Args&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::apply
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:645,1
    - Dst: ipmi::message::unpack
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:645,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - std::tuple<Types...>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 643
    functionDepth: 1
    functionLinenumber: 643
    functionLinenumberEnd: 647
    functionName: ipmi::message::unpack
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 16
    functionsReached:
    - std::apply
    - ipmi::message::unpack
    linkageType: ''
    returnType: int
    signature: int unpack(std::tuple<Types...>& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<Response>
      Src: /src/phosphor-host-ipmid/include/ipmid/message.hpp:655,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 653
    functionDepth: 0
    functionLinenumber: 653
    functionLinenumberEnd: 656
    functionName: ipmi::message::makeResponse
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    functionUses: 0
    functionsReached:
    - std::make_shared<Response>
    linkageType: ''
    returnType: Response::ptr
    signature: Response::ptr makeResponse()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/phosphor-host-ipmid/include/ipmid/sessionhelper.hpp:29,1
    - Dst: rfind
      Src: /src/phosphor-host-ipmid/include/ipmid/sessionhelper.hpp:35,1
    - Dst: substr
      Src: /src/phosphor-host-ipmid/include/ipmid/sessionhelper.hpp:41,1
    - Dst: std::string::rfind
      Src: /src/phosphor-host-ipmid/include/ipmid/sessionhelper.hpp:42,1
    - Dst: std::string::substr
      Src: /src/phosphor-host-ipmid/include/ipmid/sessionhelper.hpp:47,1
    - Dst: std::string::resize
      Src: /src/phosphor-host-ipmid/include/ipmid/sessionhelper.hpp:49,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - ' objectPath'
    - ' sessionId'
    - ' sessionHandle'
    argTypes:
    - std::string
    - uint32_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 62
    functionName: parseCloseSessionInputPayload
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/sessionhelper.hpp
    functionUses: 4
    functionsReached:
    - std::string::resize
    - std::string::substr
    - substr
    - std::string::rfind
    - rfind
    - empty
    linkageType: ''
    returnType: bool
    signature: "bool parseCloseSessionInputPayload(const std::string& objectPath,\n
      \                                  uint32_t& sessionId, uint8_t& sessionHandle)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parseCloseSessionInputPayload
      Src: /src/phosphor-host-ipmid/include/ipmid/sessionhelper.hpp:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - ' objectPath'
    - reqSessionId
    - reqSessionHandle
    argTypes:
    - std::string
    - uint32_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 91
    functionName: isSessionObjectMatched
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/sessionhelper.hpp
    functionUses: 8
    functionsReached:
    - parseCloseSessionInputPayload
    linkageType: ''
    returnType: bool
    signature: "bool isSessionObjectMatched(const std::string& objectPath,\n                            const
      uint32_t reqSessionId,\n                            const uint8_t reqSessionHandle)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: ~Router()
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/oemrouter.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Router()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - oeg
    argTypes:
    - std::uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: oem::toOemNumber
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/oemrouter.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Number
    signature: Number toOemNumber(const std::uint8_t oeg[groupMagicSize])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' oeg'
    argTypes:
    - Group
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: oem::toOemNumber
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/oemrouter.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Number
    signature: Number toOemNumber(const Group& oeg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::uint8_t>
      Src: /src/phosphor-host-ipmid/include/ipmid/oemrouter.hpp:79,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/phosphor-host-ipmid/include/ipmid/oemrouter.hpp:80,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/phosphor-host-ipmid/include/ipmid/oemrouter.hpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - oen
    argTypes:
    - Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 82
    functionName: oem::toOemGroup
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/oemrouter.hpp
    functionUses: 0
    functionsReached:
    - static_cast<std::uint8_t>
    linkageType: ''
    returnType: Group
    signature: Group toOemGroup(Number oen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: ~Router()
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/oemrouter.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Router()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - oeg
    argTypes:
    - std::uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: oem::toOemNumber
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/oemrouter.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Number
    signature: Number toOemNumber(const std::uint8_t oeg[groupMagicSize])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' oeg'
    argTypes:
    - Group
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: oem::toOemNumber
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/oemrouter.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Number
    signature: Number toOemNumber(const Group& oeg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::uint8_t>
      Src: /src/phosphor-host-ipmid/include/ipmid/oemrouter.hpp:79,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/phosphor-host-ipmid/include/ipmid/oemrouter.hpp:80,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/phosphor-host-ipmid/include/ipmid/oemrouter.hpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - oen
    argTypes:
    - Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 82
    functionName: oem::toOemGroup
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/oemrouter.hpp
    functionUses: 0
    functionsReached:
    - static_cast<std::uint8_t>
    linkageType: ''
    returnType: Group
    signature: Group toOemGroup(Number oen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Mutability>
      Src: /src/phosphor-host-ipmid/include/ipmid/types.hpp:150,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/include/ipmid/types.hpp:151,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/include/ipmid/types.hpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - Mutability
    - Mutability
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 152
    functionName: operator|(Mutability lhs, Mutability rhs)
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/types.hpp
    functionUses: 0
    functionsReached:
    - static_cast<Mutability>
    - static_cast<uint8_t>
    linkageType: ''
    returnType: Mutability
    signature: Mutability operator|(Mutability lhs, Mutability rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Mutability>
      Src: /src/phosphor-host-ipmid/include/ipmid/types.hpp:156,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/include/ipmid/types.hpp:157,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/include/ipmid/types.hpp:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - Mutability
    - Mutability
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 158
    functionName: operator&(Mutability lhs, Mutability rhs)
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/types.hpp
    functionUses: 0
    functionsReached:
    - static_cast<Mutability>
    - static_cast<uint8_t>
    linkageType: ''
    returnType: Mutability
    signature: Mutability operator&(Mutability lhs, Mutability rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Mutability>
      Src: /src/phosphor-host-ipmid/include/ipmid/types.hpp:150,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/include/ipmid/types.hpp:151,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/include/ipmid/types.hpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - Mutability
    - Mutability
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 152
    functionName: operator|(Mutability lhs, Mutability rhs)
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/types.hpp
    functionUses: 0
    functionsReached:
    - static_cast<Mutability>
    - static_cast<uint8_t>
    linkageType: ''
    returnType: Mutability
    signature: Mutability operator|(Mutability lhs, Mutability rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Mutability>
      Src: /src/phosphor-host-ipmid/include/ipmid/types.hpp:156,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/include/ipmid/types.hpp:157,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/include/ipmid/types.hpp:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - Mutability
    - Mutability
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 158
    functionName: operator&(Mutability lhs, Mutability rhs)
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/types.hpp
    functionUses: 0
    functionsReached:
    - static_cast<Mutability>
    - static_cast<uint8_t>
    linkageType: ''
    returnType: Mutability
    signature: Mutability operator&(Mutability lhs, Mutability rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_cleanse
      Src: /src/phosphor-host-ipmid/include/ipmid/types.hpp:283,1
    - Dst: ipmi::SecureAllocator::deallocate
      Src: /src/phosphor-host-ipmid/include/ipmid/types.hpp:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - n
    argTypes:
    - T*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 285
    functionName: ipmi::SecureAllocator::deallocate
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/types.hpp
    functionUses: 1
    functionsReached:
    - OPENSSL_cleanse
    - ipmi::SecureAllocator::deallocate
    linkageType: ''
    returnType: void
    signature: void deallocate(T* p, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SecureStringBase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 294
    functionName: ipmi::SecureString::SecureString
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/types.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SecureString(const SecureStringBase& other)
  - 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: ipmi::SecureString::SecureString
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/types.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SecureString(SecureString&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 296
    functionName: ipmi::SecureString::SecureString
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/types.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SecureString(const SecureString&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 297
    functionName: ipmi::SecureString::SecureString
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/types.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SecureString(SecureString&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 298
    functionName: '& operator=(SecureString&&)'
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/types.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SecureString
    signature: SecureString & operator=(SecureString&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 299
    functionName: '& operator=(const SecureString&)'
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/types.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SecureString
    signature: SecureString & operator=(const SecureString&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_cleanse
      Src: /src/phosphor-host-ipmid/include/ipmid/types.hpp:303,1
    - Dst: ipmi::data
      Src: /src/phosphor-host-ipmid/include/ipmid/types.hpp:303,1
    - Dst: ipmi::size
      Src: /src/phosphor-host-ipmid/include/ipmid/types.hpp:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 304
    functionName: ~SecureString()
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/types.hpp
    functionUses: 0
    functionsReached:
    - ipmi::size
    - OPENSSL_cleanse
    - ipmi::data
    linkageType: ''
    returnType: void
    signature: void ~SecureString()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SecureBufferBase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 313
    functionName: ipmi::SecureBuffer::SecureBuffer
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/types.hpp
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SecureBuffer(const SecureBufferBase& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 314
    functionName: ipmi::SecureBuffer::SecureBuffer
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/types.hpp
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SecureBuffer(SecureBuffer&)
  - 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: ipmi::SecureBuffer::SecureBuffer
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/types.hpp
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SecureBuffer(const SecureBuffer&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 316
    functionName: ipmi::SecureBuffer::SecureBuffer
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/types.hpp
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SecureBuffer(SecureBuffer&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 317
    functionName: '& operator=(SecureBuffer&&)'
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/types.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SecureBuffer
    signature: SecureBuffer & operator=(SecureBuffer&&)
  - 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 SecureBuffer&)'
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/types.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SecureBuffer
    signature: SecureBuffer & operator=(const SecureBuffer&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_cleanse
      Src: /src/phosphor-host-ipmid/include/ipmid/types.hpp:322,1
    - Dst: ipmi::data
      Src: /src/phosphor-host-ipmid/include/ipmid/types.hpp:322,1
    - Dst: ipmi::size
      Src: /src/phosphor-host-ipmid/include/ipmid/types.hpp:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 323
    functionName: ~SecureBuffer()
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/types.hpp
    functionUses: 0
    functionsReached:
    - ipmi::size
    - OPENSSL_cleanse
    - ipmi::data
    linkageType: ''
    returnType: void
    signature: void ~SecureBuffer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Mutability>
      Src: /src/phosphor-host-ipmid/include/ipmid/types.hpp:150,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/include/ipmid/types.hpp:151,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/include/ipmid/types.hpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - Mutability
    - Mutability
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 152
    functionName: operator|(Mutability lhs, Mutability rhs)
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/types.hpp
    functionUses: 0
    functionsReached:
    - static_cast<Mutability>
    - static_cast<uint8_t>
    linkageType: ''
    returnType: Mutability
    signature: Mutability operator|(Mutability lhs, Mutability rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Mutability>
      Src: /src/phosphor-host-ipmid/include/ipmid/types.hpp:156,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/include/ipmid/types.hpp:157,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/include/ipmid/types.hpp:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - Mutability
    - Mutability
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 158
    functionName: operator&(Mutability lhs, Mutability rhs)
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/types.hpp
    functionUses: 0
    functionsReached:
    - static_cast<Mutability>
    - static_cast<uint8_t>
    linkageType: ''
    returnType: Mutability
    signature: Mutability operator&(Mutability lhs, Mutability rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Mutability>
      Src: /src/phosphor-host-ipmid/include/ipmid/types.hpp:150,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/include/ipmid/types.hpp:151,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/include/ipmid/types.hpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - Mutability
    - Mutability
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 152
    functionName: operator|(Mutability lhs, Mutability rhs)
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/types.hpp
    functionUses: 0
    functionsReached:
    - static_cast<Mutability>
    - static_cast<uint8_t>
    linkageType: ''
    returnType: Mutability
    signature: Mutability operator|(Mutability lhs, Mutability rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Mutability>
      Src: /src/phosphor-host-ipmid/include/ipmid/types.hpp:156,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/include/ipmid/types.hpp:157,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/include/ipmid/types.hpp:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - Mutability
    - Mutability
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 158
    functionName: operator&(Mutability lhs, Mutability rhs)
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/types.hpp
    functionUses: 0
    functionsReached:
    - static_cast<Mutability>
    - static_cast<uint8_t>
    linkageType: ''
    returnType: Mutability
    signature: Mutability operator&(Mutability lhs, Mutability rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_cleanse
      Src: /src/phosphor-host-ipmid/include/ipmid/types.hpp:283,1
    - Dst: ipmi::SecureAllocator::deallocate
      Src: /src/phosphor-host-ipmid/include/ipmid/types.hpp:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - n
    argTypes:
    - T*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 285
    functionName: ipmi::SecureAllocator::deallocate
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/types.hpp
    functionUses: 2
    functionsReached:
    - OPENSSL_cleanse
    - ipmi::SecureAllocator::deallocate
    linkageType: ''
    returnType: void
    signature: void deallocate(T* p, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SecureStringBase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 294
    functionName: ipmi::SecureString::SecureString
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/types.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SecureString(const SecureStringBase& other)
  - 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: ipmi::SecureString::SecureString
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/types.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SecureString(SecureString&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 296
    functionName: ipmi::SecureString::SecureString
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/types.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SecureString(const SecureString&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 297
    functionName: ipmi::SecureString::SecureString
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/types.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SecureString(SecureString&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 298
    functionName: '& operator=(SecureString&&)'
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/types.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SecureString
    signature: SecureString & operator=(SecureString&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 299
    functionName: '& operator=(const SecureString&)'
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/types.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SecureString
    signature: SecureString & operator=(const SecureString&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_cleanse
      Src: /src/phosphor-host-ipmid/include/ipmid/types.hpp:303,1
    - Dst: data
      Src: /src/phosphor-host-ipmid/include/ipmid/types.hpp:303,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/include/ipmid/types.hpp:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 304
    functionName: ~SecureString()
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/types.hpp
    functionUses: 0
    functionsReached:
    - data
    - size
    - OPENSSL_cleanse
    linkageType: ''
    returnType: void
    signature: void ~SecureString()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SecureBufferBase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 313
    functionName: ipmi::SecureBuffer::SecureBuffer
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/types.hpp
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SecureBuffer(const SecureBufferBase& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 314
    functionName: ipmi::SecureBuffer::SecureBuffer
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/types.hpp
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SecureBuffer(SecureBuffer&)
  - 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: ipmi::SecureBuffer::SecureBuffer
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/types.hpp
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SecureBuffer(const SecureBuffer&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 316
    functionName: ipmi::SecureBuffer::SecureBuffer
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/types.hpp
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SecureBuffer(SecureBuffer&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 317
    functionName: '& operator=(SecureBuffer&&)'
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/types.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SecureBuffer
    signature: SecureBuffer & operator=(SecureBuffer&&)
  - 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 SecureBuffer&)'
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/types.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SecureBuffer
    signature: SecureBuffer & operator=(const SecureBuffer&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_cleanse
      Src: /src/phosphor-host-ipmid/include/ipmid/types.hpp:322,1
    - Dst: data
      Src: /src/phosphor-host-ipmid/include/ipmid/types.hpp:322,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/include/ipmid/types.hpp:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 323
    functionName: ~SecureBuffer()
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/types.hpp
    functionUses: 0
    functionsReached:
    - data
    - size
    - OPENSSL_cleanse
    linkageType: ''
    returnType: void
    signature: void ~SecureBuffer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getDbusObject
      Src: /src/phosphor-host-ipmid/include/ipmid/utils.hpp:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - ' interface'
    - ' dbusObject'
    argTypes:
    - Context::ptr
    - std::string
    - DbusObjectInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 236
    functionName: ipmi::getDbusObject
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/utils.hpp
    functionUses: 24
    functionsReached:
    - ipmi::getDbusObject
    linkageType: ''
    returnType: boost::system::error_code
    signature: "boost::system::error_code getDbusObject(\n    Context::ptr ctx, const
      std::string& interface, DbusObjectInfo& dbusObject)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getDbusObject
      Src: /src/phosphor-host-ipmid/include/ipmid/utils.hpp:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - ' interface'
    - ' subtreePath'
    - ' dbusObject'
    argTypes:
    - Context::ptr
    - std::string
    - std::string
    - DbusObjectInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 244
    functionName: ipmi::getDbusObject
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/utils.hpp
    functionUses: 25
    functionsReached:
    - ipmi::getDbusObject
    linkageType: ''
    returnType: boost::system::error_code
    signature: "boost::system::error_code getDbusObject(\n    Context::ptr ctx, const
      std::string& interface,\n    const std::string& subtreePath, DbusObjectInfo&
      dbusObject)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Context::ptr::bus::yield_method_call
      Src: /src/phosphor-host-ipmid/include/ipmid/utils.hpp:263,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/include/ipmid/utils.hpp:264,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/include/ipmid/utils.hpp:264,1
    - Dst: std::get_if<Type>
      Src: /src/phosphor-host-ipmid/include/ipmid/utils.hpp:268,1
    - Dst: boost::system::errc::make_error_code
      Src: /src/phosphor-host-ipmid/include/ipmid/utils.hpp:275,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 6
    argNames:
    - ctx
    - ' service'
    - ' objPath'
    - ' interface'
    - ' property'
    - ' propertyValue'
    argTypes:
    - Context::ptr
    - std::string
    - std::string
    - std::string
    - std::string
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 279
    functionName: ipmi::getDbusProperty
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/utils.hpp
    functionUses: 93
    functionsReached:
    - c_str
    - std::get_if<Type>
    - Context::ptr::bus::yield_method_call
    - boost::system::errc::make_error_code
    linkageType: ''
    returnType: boost::system::error_code
    signature: "boost::system::error_code getDbusProperty(\n    Context::ptr ctx,
      const std::string& service, const std::string& objPath,\n    const std::string&
      interface, const std::string& property,\n    Type& propertyValue)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getAllDbusObjects
      Src: /src/phosphor-host-ipmid/include/ipmid/utils.hpp:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - ' serviceRoot'
    - ' interface'
    - ' objectTree'
    argTypes:
    - Context::ptr
    - std::string
    - std::string
    - ObjectTree
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 328
    functionName: ipmi::getAllDbusObjects
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/utils.hpp
    functionUses: 10
    functionsReached:
    - ipmi::getAllDbusObjects
    linkageType: ''
    returnType: boost::system::error_code
    signature: "boost::system::error_code getAllDbusObjects(\n    Context::ptr ctx,
      const std::string& serviceRoot,\n    const std::string& interface, ObjectTree&
      objectTree)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/phosphor-host-ipmid/include/ipmid/utils.hpp:372,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/include/ipmid/utils.hpp:373,1
    - Dst: std::get_if<T>
      Src: /src/phosphor-host-ipmid/include/ipmid/utils.hpp:377,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ' props'
    - ' name'
    - ' defaultValue'
    argTypes:
    - ipmi::PropertyMap
    - std::string
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 383
    functionName: ipmi::mappedVariant
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/utils.hpp
    functionUses: 2
    functionsReached:
    - std::get_if<T>
    - end
    - find
    linkageType: ''
    returnType: T
    signature: "T mappedVariant(const ipmi::PropertyMap& props, const std::string&
      name,\n                const T& defaultValue)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/phosphor-host-ipmid/include/ipmid/utils.hpp:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 396
    functionName: "operator()(\n        const T& t) const"
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/utils.hpp
    functionUses: 0
    functionsReached:
    - static_cast<double>
    linkageType: ''
    returnType: std::enable_if_t<std::is_arithmetic<T>::value, double>
    signature: "std::enable_if_t<std::is_arithmetic<T>::value, double> operator()(\n
      \       const T& t) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::invalid_argument
      Src: /src/phosphor-host-ipmid/include/ipmid/utils.hpp:402,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 403
    functionName: "operator()(\n        const T&) const"
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/utils.hpp
    functionUses: 0
    functionsReached:
    - std::invalid_argument
    linkageType: ''
    returnType: std::enable_if_t<!std::is_arithmetic<T>::value, double>
    signature: "std::enable_if_t<!std::is_arithmetic<T>::value, double> operator()(\n
      \       const T&) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::Context::ptr::bus::yield_method_call
      Src: /src/phosphor-host-ipmid/include/ipmid/utils.hpp:429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - ctx
    - ' service'
    - ' objPath'
    - ' interface'
    - ' method'
    argTypes:
    - ipmi::Context::ptr
    - std::string
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 433
    functionName: ipmi::callDbusMethod
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/utils.hpp
    functionUses: 7
    functionsReached:
    - ipmi::Context::ptr::bus::yield_method_call
    linkageType: ''
    returnType: boost::system::error_code
    signature: "boost::system::error_code callDbusMethod(\n    ipmi::Context::ptr
      ctx, const std::string& service,\n    const std::string& objPath, const std::string&
      interface,\n    const std::string& method, const InputArgs&... args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::Context::ptr::bus::yield_method_call
      Src: /src/phosphor-host-ipmid/include/ipmid/utils.hpp:441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - ctx
    - ' ec'
    - ' service'
    - ' objPath'
    - ' interface'
    - ' method'
    argTypes:
    - ipmi::Context::ptr
    - boost::system::error_code
    - std::string
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 445
    functionName: ipmi::callDbusMethod
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/utils.hpp
    functionUses: 7
    functionsReached:
    - ipmi::Context::ptr::bus::yield_method_call
    linkageType: ''
    returnType: RetType
    signature: "RetType callDbusMethod(ipmi::Context::ptr ctx, boost::system::error_code&
      ec,\n                       const std::string& service, const std::string& objPath,\n
      \                      const std::string& interface, const std::string& method,\n
      \                      const InputArgs&... args)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/phosphor-host-ipmid/include/ipmid/utils.hpp:478,1
    - Dst: std::string_view::size
      Src: /src/phosphor-host-ipmid/include/ipmid/utils.hpp:483,1
    - Dst: std::string_view::remove_prefix
      Src: /src/phosphor-host-ipmid/include/ipmid/utils.hpp:486,1
    - Dst: std::from_chars
      Src: /src/phosphor-host-ipmid/include/ipmid/utils.hpp:489,1
    - Dst: std::string_view::data
      Src: /src/phosphor-host-ipmid/include/ipmid/utils.hpp:489,1
    - Dst: std::string_view::data
      Src: /src/phosphor-host-ipmid/include/ipmid/utils.hpp:489,1
    - Dst: std::string_view::size
      Src: /src/phosphor-host-ipmid/include/ipmid/utils.hpp:489,1
    - Dst: std::string_view::data
      Src: /src/phosphor-host-ipmid/include/ipmid/utils.hpp:491,1
    - Dst: std::string_view::size
      Src: /src/phosphor-host-ipmid/include/ipmid/utils.hpp:491,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - s
    - ' out'
    argTypes:
    - std::string_view
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 492
    functionName: ipmi::tryParse
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/utils.hpp
    functionUses: 7
    functionsReached:
    - std::string_view::empty
    - std::string_view::data
    - std::string_view::size
    - std::string_view::remove_prefix
    - std::from_chars
    linkageType: ''
    returnType: bool
    signature: bool tryParse(std::string_view s, T& out, int base = 10)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getDbusObject
      Src: /src/phosphor-host-ipmid/include/ipmid/utils.hpp:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - ' interface'
    - ' dbusObject'
    argTypes:
    - Context::ptr
    - std::string
    - DbusObjectInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 236
    functionName: ipmi::getDbusObject
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/utils.hpp
    functionUses: 26
    functionsReached:
    - ipmi::getDbusObject
    linkageType: ''
    returnType: boost::system::error_code
    signature: "boost::system::error_code getDbusObject(\n    Context::ptr ctx, const
      std::string& interface, DbusObjectInfo& dbusObject)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getDbusObject
      Src: /src/phosphor-host-ipmid/include/ipmid/utils.hpp:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - ' interface'
    - ' subtreePath'
    - ' dbusObject'
    argTypes:
    - Context::ptr
    - std::string
    - std::string
    - DbusObjectInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 244
    functionName: ipmi::getDbusObject
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/utils.hpp
    functionUses: 27
    functionsReached:
    - ipmi::getDbusObject
    linkageType: ''
    returnType: boost::system::error_code
    signature: "boost::system::error_code getDbusObject(\n    Context::ptr ctx, const
      std::string& interface,\n    const std::string& subtreePath, DbusObjectInfo&
      dbusObject)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Context::ptr::bus::yield_method_call
      Src: /src/phosphor-host-ipmid/include/ipmid/utils.hpp:263,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/include/ipmid/utils.hpp:264,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/include/ipmid/utils.hpp:264,1
    - Dst: std::get_if<Type>
      Src: /src/phosphor-host-ipmid/include/ipmid/utils.hpp:268,1
    - Dst: boost::system::errc::make_error_code
      Src: /src/phosphor-host-ipmid/include/ipmid/utils.hpp:275,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 6
    argNames:
    - ctx
    - ' service'
    - ' objPath'
    - ' interface'
    - ' property'
    - ' propertyValue'
    argTypes:
    - Context::ptr
    - std::string
    - std::string
    - std::string
    - std::string
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 279
    functionName: ipmi::getDbusProperty
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/utils.hpp
    functionUses: 93
    functionsReached:
    - c_str
    - std::get_if<Type>
    - Context::ptr::bus::yield_method_call
    - boost::system::errc::make_error_code
    linkageType: ''
    returnType: boost::system::error_code
    signature: "boost::system::error_code getDbusProperty(\n    Context::ptr ctx,
      const std::string& service, const std::string& objPath,\n    const std::string&
      interface, const std::string& property,\n    Type& propertyValue)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getAllDbusObjects
      Src: /src/phosphor-host-ipmid/include/ipmid/utils.hpp:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - ' serviceRoot'
    - ' interface'
    - ' objectTree'
    argTypes:
    - Context::ptr
    - std::string
    - std::string
    - ObjectTree
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 328
    functionName: ipmi::getAllDbusObjects
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/utils.hpp
    functionUses: 11
    functionsReached:
    - ipmi::getAllDbusObjects
    linkageType: ''
    returnType: boost::system::error_code
    signature: "boost::system::error_code getAllDbusObjects(\n    Context::ptr ctx,
      const std::string& serviceRoot,\n    const std::string& interface, ObjectTree&
      objectTree)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/phosphor-host-ipmid/include/ipmid/utils.hpp:372,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/include/ipmid/utils.hpp:373,1
    - Dst: std::get_if<T>
      Src: /src/phosphor-host-ipmid/include/ipmid/utils.hpp:377,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ' props'
    - ' name'
    - ' defaultValue'
    argTypes:
    - ipmi::PropertyMap
    - std::string
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 383
    functionName: ipmi::mappedVariant
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/utils.hpp
    functionUses: 2
    functionsReached:
    - std::get_if<T>
    - end
    - find
    linkageType: ''
    returnType: T
    signature: "T mappedVariant(const ipmi::PropertyMap& props, const std::string&
      name,\n                const T& defaultValue)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/phosphor-host-ipmid/include/ipmid/utils.hpp:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 396
    functionName: "operator()(\n        const T& t) const"
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/utils.hpp
    functionUses: 0
    functionsReached:
    - static_cast<double>
    linkageType: ''
    returnType: std::enable_if_t<std::is_arithmetic<T>::value, double>
    signature: "std::enable_if_t<std::is_arithmetic<T>::value, double> operator()(\n
      \       const T& t) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::invalid_argument
      Src: /src/phosphor-host-ipmid/include/ipmid/utils.hpp:402,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 403
    functionName: "operator()(\n        const T&) const"
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/utils.hpp
    functionUses: 0
    functionsReached:
    - std::invalid_argument
    linkageType: ''
    returnType: std::enable_if_t<!std::is_arithmetic<T>::value, double>
    signature: "std::enable_if_t<!std::is_arithmetic<T>::value, double> operator()(\n
      \       const T&) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::Context::ptr::bus::yield_method_call
      Src: /src/phosphor-host-ipmid/include/ipmid/utils.hpp:429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - ctx
    - ' service'
    - ' objPath'
    - ' interface'
    - ' method'
    argTypes:
    - ipmi::Context::ptr
    - std::string
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 433
    functionName: ipmi::callDbusMethod
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/utils.hpp
    functionUses: 7
    functionsReached:
    - ipmi::Context::ptr::bus::yield_method_call
    linkageType: ''
    returnType: boost::system::error_code
    signature: "boost::system::error_code callDbusMethod(\n    ipmi::Context::ptr
      ctx, const std::string& service,\n    const std::string& objPath, const std::string&
      interface,\n    const std::string& method, const InputArgs&... args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::Context::ptr::bus::yield_method_call
      Src: /src/phosphor-host-ipmid/include/ipmid/utils.hpp:441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - ctx
    - ' ec'
    - ' service'
    - ' objPath'
    - ' interface'
    - ' method'
    argTypes:
    - ipmi::Context::ptr
    - boost::system::error_code
    - std::string
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 445
    functionName: ipmi::callDbusMethod
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/utils.hpp
    functionUses: 7
    functionsReached:
    - ipmi::Context::ptr::bus::yield_method_call
    linkageType: ''
    returnType: RetType
    signature: "RetType callDbusMethod(ipmi::Context::ptr ctx, boost::system::error_code&
      ec,\n                       const std::string& service, const std::string& objPath,\n
      \                      const std::string& interface, const std::string& method,\n
      \                      const InputArgs&... args)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/phosphor-host-ipmid/include/ipmid/utils.hpp:478,1
    - Dst: std::string_view::size
      Src: /src/phosphor-host-ipmid/include/ipmid/utils.hpp:483,1
    - Dst: std::string_view::remove_prefix
      Src: /src/phosphor-host-ipmid/include/ipmid/utils.hpp:486,1
    - Dst: std::from_chars
      Src: /src/phosphor-host-ipmid/include/ipmid/utils.hpp:489,1
    - Dst: std::string_view::data
      Src: /src/phosphor-host-ipmid/include/ipmid/utils.hpp:489,1
    - Dst: std::string_view::data
      Src: /src/phosphor-host-ipmid/include/ipmid/utils.hpp:489,1
    - Dst: std::string_view::size
      Src: /src/phosphor-host-ipmid/include/ipmid/utils.hpp:489,1
    - Dst: std::string_view::data
      Src: /src/phosphor-host-ipmid/include/ipmid/utils.hpp:491,1
    - Dst: std::string_view::size
      Src: /src/phosphor-host-ipmid/include/ipmid/utils.hpp:491,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - s
    - ' out'
    argTypes:
    - std::string_view
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 492
    functionName: ipmi::tryParse
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/utils.hpp
    functionUses: 7
    functionsReached:
    - std::string_view::empty
    - std::string_view::data
    - std::string_view::size
    - std::string_view::remove_prefix
    - std::from_chars
    linkageType: ''
    returnType: bool
    signature: bool tryParse(std::string_view s, T& out, int base = 10)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_tuple
      Src: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp:437,1
    - Dst: std::make_optional
      Src: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp:437,1
    - Dst: std::make_tuple
      Src: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp:437,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - cc
    argTypes:
    - ipmi::Cc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 438
    functionName: ipmi::response
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp
    functionUses: 43
    functionsReached:
    - std::make_tuple
    - std::make_optional
    linkageType: ''
    returnType: auto
    signature: auto response(ipmi::Cc cc, Args&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_tuple
      Src: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp:441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cc
    argTypes:
    - ipmi::Cc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 442
    functionName: ipmi::response
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp
    functionUses: 43
    functionsReached:
    - std::make_tuple
    linkageType: ''
    returnType: auto
    signature: auto response(ipmi::Cc cc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp:460,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 458
    functionDepth: 1
    functionLinenumber: 458
    functionLinenumberEnd: 461
    functionName: ipmi::responseSuccess
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp
    functionUses: 151
    functionsReached:
    - ipmi::response
    linkageType: ''
    returnType: auto
    signature: auto responseSuccess(Args&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 462
    functionDepth: 1
    functionLinenumber: 462
    functionLinenumberEnd: 465
    functionName: ipmi::responseSuccess
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp
    functionUses: 151
    functionsReached:
    - ipmi::response
    linkageType: ''
    returnType: auto
    signature: auto responseSuccess()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 468
    functionDepth: 1
    functionLinenumber: 468
    functionLinenumberEnd: 471
    functionName: ipmi::responseBusy
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp
    functionUses: 0
    functionsReached:
    - ipmi::response
    linkageType: ''
    returnType: auto
    signature: auto responseBusy()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 472
    functionDepth: 1
    functionLinenumber: 472
    functionLinenumberEnd: 475
    functionName: ipmi::responseInvalidCommand
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp
    functionUses: 5
    functionsReached:
    - ipmi::response
    linkageType: ''
    returnType: auto
    signature: auto responseInvalidCommand()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp:478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 476
    functionDepth: 1
    functionLinenumber: 476
    functionLinenumberEnd: 479
    functionName: ipmi::responseInvalidCommandOnLun
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp
    functionUses: 1
    functionsReached:
    - ipmi::response
    linkageType: ''
    returnType: auto
    signature: auto responseInvalidCommandOnLun()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp:482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 480
    functionDepth: 1
    functionLinenumber: 480
    functionLinenumberEnd: 483
    functionName: ipmi::responseTimeout
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp
    functionUses: 0
    functionsReached:
    - ipmi::response
    linkageType: ''
    returnType: auto
    signature: auto responseTimeout()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp:486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 484
    functionDepth: 1
    functionLinenumber: 484
    functionLinenumberEnd: 487
    functionName: ipmi::responseOutOfSpace
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp
    functionUses: 0
    functionsReached:
    - ipmi::response
    linkageType: ''
    returnType: auto
    signature: auto responseOutOfSpace()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp:490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 488
    functionDepth: 1
    functionLinenumber: 488
    functionLinenumberEnd: 491
    functionName: ipmi::responseInvalidReservationId
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp
    functionUses: 13
    functionsReached:
    - ipmi::response
    linkageType: ''
    returnType: auto
    signature: auto responseInvalidReservationId()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp:494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 492
    functionDepth: 1
    functionLinenumber: 492
    functionLinenumberEnd: 495
    functionName: ipmi::responseReqDataTruncated
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp
    functionUses: 0
    functionsReached:
    - ipmi::response
    linkageType: ''
    returnType: auto
    signature: auto responseReqDataTruncated()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp:498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 496
    functionDepth: 1
    functionLinenumber: 496
    functionLinenumberEnd: 499
    functionName: ipmi::responseReqDataLenInvalid
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp
    functionUses: 7
    functionsReached:
    - ipmi::response
    linkageType: ''
    returnType: auto
    signature: auto responseReqDataLenInvalid()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp:502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 500
    functionDepth: 1
    functionLinenumber: 500
    functionLinenumberEnd: 503
    functionName: ipmi::responseReqDataLenExceeded
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp
    functionUses: 4
    functionsReached:
    - ipmi::response
    linkageType: ''
    returnType: auto
    signature: auto responseReqDataLenExceeded()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp:506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 504
    functionDepth: 1
    functionLinenumber: 504
    functionLinenumberEnd: 507
    functionName: ipmi::responseParmOutOfRange
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp
    functionUses: 15
    functionsReached:
    - ipmi::response
    linkageType: ''
    returnType: auto
    signature: auto responseParmOutOfRange()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp:510,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 508
    functionDepth: 1
    functionLinenumber: 508
    functionLinenumberEnd: 511
    functionName: ipmi::responseRetBytesUnavailable
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp
    functionUses: 4
    functionsReached:
    - ipmi::response
    linkageType: ''
    returnType: auto
    signature: auto responseRetBytesUnavailable()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp:514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 512
    functionDepth: 1
    functionLinenumber: 512
    functionLinenumberEnd: 515
    functionName: ipmi::responseSensorInvalid
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp
    functionUses: 19
    functionsReached:
    - ipmi::response
    linkageType: ''
    returnType: auto
    signature: auto responseSensorInvalid()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp:518,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 516
    functionDepth: 1
    functionLinenumber: 516
    functionLinenumberEnd: 519
    functionName: ipmi::responseInvalidFieldRequest
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp
    functionUses: 77
    functionsReached:
    - ipmi::response
    linkageType: ''
    returnType: auto
    signature: auto responseInvalidFieldRequest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp:522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 520
    functionDepth: 1
    functionLinenumber: 520
    functionLinenumberEnd: 523
    functionName: ipmi::responseIllegalCommand
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp
    functionUses: 4
    functionsReached:
    - ipmi::response
    linkageType: ''
    returnType: auto
    signature: auto responseIllegalCommand()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp:526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 524
    functionDepth: 1
    functionLinenumber: 524
    functionLinenumberEnd: 527
    functionName: ipmi::responseResponseError
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp
    functionUses: 25
    functionsReached:
    - ipmi::response
    linkageType: ''
    returnType: auto
    signature: auto responseResponseError()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp:530,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 528
    functionDepth: 1
    functionLinenumber: 528
    functionLinenumberEnd: 531
    functionName: ipmi::responseDuplicateRequest
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp
    functionUses: 0
    functionsReached:
    - ipmi::response
    linkageType: ''
    returnType: auto
    signature: auto responseDuplicateRequest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp:534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 532
    functionDepth: 1
    functionLinenumber: 532
    functionLinenumberEnd: 535
    functionName: ipmi::responseCmdFailSdrMode
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp
    functionUses: 0
    functionsReached:
    - ipmi::response
    linkageType: ''
    returnType: auto
    signature: auto responseCmdFailSdrMode()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp:538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 539
    functionName: ipmi::responseCmdFailFwUpdMode
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp
    functionUses: 0
    functionsReached:
    - ipmi::response
    linkageType: ''
    returnType: auto
    signature: auto responseCmdFailFwUpdMode()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp:542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 540
    functionDepth: 1
    functionLinenumber: 540
    functionLinenumberEnd: 543
    functionName: ipmi::responseCmdFailInitAgent
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp
    functionUses: 0
    functionsReached:
    - ipmi::response
    linkageType: ''
    returnType: auto
    signature: auto responseCmdFailInitAgent()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp:546,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 544
    functionDepth: 1
    functionLinenumber: 544
    functionLinenumberEnd: 547
    functionName: ipmi::responseDestinationUnavailable
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp
    functionUses: 0
    functionsReached:
    - ipmi::response
    linkageType: ''
    returnType: auto
    signature: auto responseDestinationUnavailable()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp:550,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 548
    functionDepth: 1
    functionLinenumber: 548
    functionLinenumberEnd: 551
    functionName: ipmi::responseInsufficientPrivilege
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp
    functionUses: 0
    functionsReached:
    - ipmi::response
    linkageType: ''
    returnType: auto
    signature: auto responseInsufficientPrivilege()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp:554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 552
    functionDepth: 1
    functionLinenumber: 552
    functionLinenumberEnd: 555
    functionName: ipmi::responseCommandNotAvailable
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp
    functionUses: 3
    functionsReached:
    - ipmi::response
    linkageType: ''
    returnType: auto
    signature: auto responseCommandNotAvailable()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp:558,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 556
    functionDepth: 1
    functionLinenumber: 556
    functionLinenumberEnd: 559
    functionName: ipmi::responseCommandDisabled
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp
    functionUses: 1
    functionsReached:
    - ipmi::response
    linkageType: ''
    returnType: auto
    signature: auto responseCommandDisabled()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp:562,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 560
    functionDepth: 1
    functionLinenumber: 560
    functionLinenumberEnd: 563
    functionName: ipmi::responseUnspecifiedError
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp
    functionUses: 62
    functionsReached:
    - ipmi::response
    linkageType: ''
    returnType: auto
    signature: auto responseUnspecifiedError()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_tuple
      Src: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp:437,1
    - Dst: std::make_optional
      Src: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp:437,1
    - Dst: std::make_tuple
      Src: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp:437,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - cc
    argTypes:
    - ipmi::Cc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 438
    functionName: ipmi::response
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp
    functionUses: 69
    functionsReached:
    - std::make_tuple
    - std::make_optional
    linkageType: ''
    returnType: auto
    signature: auto response(ipmi::Cc cc, Args&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_tuple
      Src: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp:441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cc
    argTypes:
    - ipmi::Cc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 442
    functionName: ipmi::response
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp
    functionUses: 69
    functionsReached:
    - std::make_tuple
    linkageType: ''
    returnType: auto
    signature: auto response(ipmi::Cc cc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp:460,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 458
    functionDepth: 1
    functionLinenumber: 458
    functionLinenumberEnd: 461
    functionName: ipmi::responseSuccess
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp
    functionUses: 151
    functionsReached:
    - ipmi::response
    linkageType: ''
    returnType: auto
    signature: auto responseSuccess(Args&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 462
    functionDepth: 1
    functionLinenumber: 462
    functionLinenumberEnd: 465
    functionName: ipmi::responseSuccess
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp
    functionUses: 151
    functionsReached:
    - ipmi::response
    linkageType: ''
    returnType: auto
    signature: auto responseSuccess()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 468
    functionDepth: 1
    functionLinenumber: 468
    functionLinenumberEnd: 471
    functionName: ipmi::responseBusy
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp
    functionUses: 0
    functionsReached:
    - ipmi::response
    linkageType: ''
    returnType: auto
    signature: auto responseBusy()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 472
    functionDepth: 1
    functionLinenumber: 472
    functionLinenumberEnd: 475
    functionName: ipmi::responseInvalidCommand
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp
    functionUses: 5
    functionsReached:
    - ipmi::response
    linkageType: ''
    returnType: auto
    signature: auto responseInvalidCommand()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp:478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 476
    functionDepth: 1
    functionLinenumber: 476
    functionLinenumberEnd: 479
    functionName: ipmi::responseInvalidCommandOnLun
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp
    functionUses: 1
    functionsReached:
    - ipmi::response
    linkageType: ''
    returnType: auto
    signature: auto responseInvalidCommandOnLun()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp:482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 480
    functionDepth: 1
    functionLinenumber: 480
    functionLinenumberEnd: 483
    functionName: ipmi::responseTimeout
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp
    functionUses: 0
    functionsReached:
    - ipmi::response
    linkageType: ''
    returnType: auto
    signature: auto responseTimeout()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp:486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 484
    functionDepth: 1
    functionLinenumber: 484
    functionLinenumberEnd: 487
    functionName: ipmi::responseOutOfSpace
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp
    functionUses: 0
    functionsReached:
    - ipmi::response
    linkageType: ''
    returnType: auto
    signature: auto responseOutOfSpace()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp:490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 488
    functionDepth: 1
    functionLinenumber: 488
    functionLinenumberEnd: 491
    functionName: ipmi::responseInvalidReservationId
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp
    functionUses: 13
    functionsReached:
    - ipmi::response
    linkageType: ''
    returnType: auto
    signature: auto responseInvalidReservationId()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp:494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 492
    functionDepth: 1
    functionLinenumber: 492
    functionLinenumberEnd: 495
    functionName: ipmi::responseReqDataTruncated
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp
    functionUses: 0
    functionsReached:
    - ipmi::response
    linkageType: ''
    returnType: auto
    signature: auto responseReqDataTruncated()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp:498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 496
    functionDepth: 1
    functionLinenumber: 496
    functionLinenumberEnd: 499
    functionName: ipmi::responseReqDataLenInvalid
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp
    functionUses: 7
    functionsReached:
    - ipmi::response
    linkageType: ''
    returnType: auto
    signature: auto responseReqDataLenInvalid()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp:502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 500
    functionDepth: 1
    functionLinenumber: 500
    functionLinenumberEnd: 503
    functionName: ipmi::responseReqDataLenExceeded
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp
    functionUses: 4
    functionsReached:
    - ipmi::response
    linkageType: ''
    returnType: auto
    signature: auto responseReqDataLenExceeded()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp:506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 504
    functionDepth: 1
    functionLinenumber: 504
    functionLinenumberEnd: 507
    functionName: ipmi::responseParmOutOfRange
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp
    functionUses: 15
    functionsReached:
    - ipmi::response
    linkageType: ''
    returnType: auto
    signature: auto responseParmOutOfRange()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp:510,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 508
    functionDepth: 1
    functionLinenumber: 508
    functionLinenumberEnd: 511
    functionName: ipmi::responseRetBytesUnavailable
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp
    functionUses: 4
    functionsReached:
    - ipmi::response
    linkageType: ''
    returnType: auto
    signature: auto responseRetBytesUnavailable()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp:514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 512
    functionDepth: 1
    functionLinenumber: 512
    functionLinenumberEnd: 515
    functionName: ipmi::responseSensorInvalid
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp
    functionUses: 19
    functionsReached:
    - ipmi::response
    linkageType: ''
    returnType: auto
    signature: auto responseSensorInvalid()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp:518,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 516
    functionDepth: 1
    functionLinenumber: 516
    functionLinenumberEnd: 519
    functionName: ipmi::responseInvalidFieldRequest
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp
    functionUses: 77
    functionsReached:
    - ipmi::response
    linkageType: ''
    returnType: auto
    signature: auto responseInvalidFieldRequest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp:522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 520
    functionDepth: 1
    functionLinenumber: 520
    functionLinenumberEnd: 523
    functionName: ipmi::responseIllegalCommand
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp
    functionUses: 4
    functionsReached:
    - ipmi::response
    linkageType: ''
    returnType: auto
    signature: auto responseIllegalCommand()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp:526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 524
    functionDepth: 1
    functionLinenumber: 524
    functionLinenumberEnd: 527
    functionName: ipmi::responseResponseError
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp
    functionUses: 25
    functionsReached:
    - ipmi::response
    linkageType: ''
    returnType: auto
    signature: auto responseResponseError()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp:530,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 528
    functionDepth: 1
    functionLinenumber: 528
    functionLinenumberEnd: 531
    functionName: ipmi::responseDuplicateRequest
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp
    functionUses: 0
    functionsReached:
    - ipmi::response
    linkageType: ''
    returnType: auto
    signature: auto responseDuplicateRequest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp:534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 532
    functionDepth: 1
    functionLinenumber: 532
    functionLinenumberEnd: 535
    functionName: ipmi::responseCmdFailSdrMode
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp
    functionUses: 0
    functionsReached:
    - ipmi::response
    linkageType: ''
    returnType: auto
    signature: auto responseCmdFailSdrMode()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp:538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 539
    functionName: ipmi::responseCmdFailFwUpdMode
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp
    functionUses: 0
    functionsReached:
    - ipmi::response
    linkageType: ''
    returnType: auto
    signature: auto responseCmdFailFwUpdMode()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp:542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 540
    functionDepth: 1
    functionLinenumber: 540
    functionLinenumberEnd: 543
    functionName: ipmi::responseCmdFailInitAgent
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp
    functionUses: 0
    functionsReached:
    - ipmi::response
    linkageType: ''
    returnType: auto
    signature: auto responseCmdFailInitAgent()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp:546,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 544
    functionDepth: 1
    functionLinenumber: 544
    functionLinenumberEnd: 547
    functionName: ipmi::responseDestinationUnavailable
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp
    functionUses: 0
    functionsReached:
    - ipmi::response
    linkageType: ''
    returnType: auto
    signature: auto responseDestinationUnavailable()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp:550,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 548
    functionDepth: 1
    functionLinenumber: 548
    functionLinenumberEnd: 551
    functionName: ipmi::responseInsufficientPrivilege
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp
    functionUses: 0
    functionsReached:
    - ipmi::response
    linkageType: ''
    returnType: auto
    signature: auto responseInsufficientPrivilege()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp:554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 552
    functionDepth: 1
    functionLinenumber: 552
    functionLinenumberEnd: 555
    functionName: ipmi::responseCommandNotAvailable
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp
    functionUses: 3
    functionsReached:
    - ipmi::response
    linkageType: ''
    returnType: auto
    signature: auto responseCommandNotAvailable()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp:558,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 556
    functionDepth: 1
    functionLinenumber: 556
    functionLinenumberEnd: 559
    functionName: ipmi::responseCommandDisabled
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp
    functionUses: 1
    functionsReached:
    - ipmi::response
    linkageType: ''
    returnType: auto
    signature: auto responseCommandDisabled()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp:562,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 560
    functionDepth: 1
    functionLinenumber: 560
    functionLinenumberEnd: 563
    functionName: ipmi::responseUnspecifiedError
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp
    functionUses: 62
    functionsReached:
    - ipmi::response
    linkageType: ''
    returnType: auto
    signature: auto responseUnspecifiedError()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<NumericType>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:46,1
    - Dst: ipmi::message::details::UnpackBytes
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pointer
    - ' i'
    argTypes:
    - uint8_t*
    - NumericType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 49
    functionName: ipmi::message::details::UnpackBytes
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 1
    functionsReached:
    - ipmi::message::details::UnpackBytes
    - static_cast<NumericType>
    linkageType: ''
    returnType: void
    signature: void UnpackBytes(uint8_t* pointer, NumericType& i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<NumericType>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:56,1
    - Dst: popBits
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:56,1
    - Dst: ipmi::message::details::UnpackBytesUnaligned
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' p'
    - ' i'
    argTypes:
    - Payload
    - NumericType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 60
    functionName: ipmi::message::details::UnpackBytesUnaligned
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 1
    functionsReached:
    - popBits
    - ipmi::message::details::UnpackBytesUnaligned
    - static_cast<NumericType>
    linkageType: ''
    returnType: void
    signature: void UnpackBytesUnaligned(Payload& p, NumericType& i)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fillBits
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:85,1
    - Dst: ipmi::message::details::UnpackBytesUnaligned
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:89,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:94,1
    - Dst: raw::data
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:98,1
    - Dst: ipmi::message::details::UnpackBytes
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:100,1
    - Dst: unpack
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:112,1
    - Dst: T
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:115,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 129
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached:
    - raw::size
    - ipmi::message::details::UnpackBytes
    - fillBits
    - unpack
    - T
    - raw::data
    - ipmi::message::details::UnpackBytesUnaligned
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, T& t)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:144,1
    - Dst: pop
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:150,1
    - Dst: reserve
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:155,1
    - Dst: insert
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:156,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 158
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached:
    - pop
    - raw::size
    - reserve
    - insert
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, std::string& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fillBits
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:171,1
    - Dst: convert_to
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - fixed_uint_t<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 180
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached:
    - convert_to
    - fillBits
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, fixed_uint_t<N>& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fillBits
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:190,1
    - Dst: static_cast<bool>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' p'
    - ' b'
    argTypes:
    - Payload
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 199
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached:
    - static_cast<bool>
    - fillBits
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, bool& b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fillBits
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:212,1
    - Dst: fixed_uint_t<details::bitStreamSize>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:217,1
    - Dst: convert_to
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:219,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::bitset<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 223
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached:
    - convert_to
    - fixed_uint_t<details::bitStreamSize>
    - fillBits
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, std::bitset<N>& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::getEthProp
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:238,1
    - Dst: reset
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:241,1
    - Dst: emplace
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:249,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::optional<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 252
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - emplace
    - ipmi::transport::getEthProp
    - reset
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, std::optional<T>& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::getEthProp
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:265,1
    - Dst: std::array<T, N>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:269,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::array<T, N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 274
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached:
    - ipmi::transport::getEthProp
    - std::array<T, N>
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, std::array<T, N>& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:283,1
    - Dst: fill
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:285,1
    - Dst: std::copy
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:289,1
    - Dst: raw::begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:289,1
    - Dst: raw::begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:289,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:290,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::array<uint8_t, N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 293
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached:
    - raw::size
    - raw::begin
    - std::copy
    - begin
    - fill
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, std::array<uint8_t, N>& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:302,1
    - Dst: emplace_back
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:304,1
    - Dst: ipmi::transport::getEthProp
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:305,1
    - Dst: back
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:305,1
    - Dst: pop_back
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:307,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::vector<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 317
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached:
    - raw::size
    - pop_back
    - back
    - ipmi::transport::getEthProp
    - emplace_back
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, std::vector<T>& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:327,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:327,1
    - Dst: insert
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:328,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:328,1
    - Dst: raw::begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:328,1
    - Dst: raw::end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:328,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 331
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached:
    - raw::size
    - insert
    - reserve
    - raw::begin
    - raw::end
    - begin
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, std::vector<uint8_t>& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:341,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:341,1
    - Dst: insert
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:342,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:342,1
    - Dst: raw::begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:342,1
    - Dst: raw::end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:342,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - SecureBuffer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 345
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached:
    - raw::size
    - insert
    - reserve
    - raw::begin
    - raw::end
    - begin
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, SecureBuffer& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:355,1
    - Dst: raw::begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:355,1
    - Dst: raw::end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:355,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::span<const uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 358
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached:
    - raw::size
    - raw::end
    - std::span<const uint8_t>
    - raw::begin
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, std::span<const uint8_t>& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - Payload
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 371
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, Payload& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<NumericType>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:46,1
    - Dst: ipmi::message::details::UnpackBytes
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pointer
    - ' i'
    argTypes:
    - uint8_t*
    - NumericType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 49
    functionName: ipmi::message::details::UnpackBytes
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 3
    functionsReached:
    - ipmi::message::details::UnpackBytes
    - static_cast<NumericType>
    linkageType: ''
    returnType: void
    signature: void UnpackBytes(uint8_t* pointer, NumericType& i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<NumericType>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:56,1
    - Dst: popBits
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:56,1
    - Dst: ipmi::message::details::UnpackBytesUnaligned
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' p'
    - ' i'
    argTypes:
    - Payload
    - NumericType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 60
    functionName: ipmi::message::details::UnpackBytesUnaligned
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 3
    functionsReached:
    - popBits
    - ipmi::message::details::UnpackBytesUnaligned
    - static_cast<NumericType>
    linkageType: ''
    returnType: void
    signature: void UnpackBytesUnaligned(Payload& p, NumericType& i)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fillBits
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:85,1
    - Dst: ipmi::message::details::UnpackBytesUnaligned
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:89,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:94,1
    - Dst: raw::data
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:98,1
    - Dst: ipmi::message::details::UnpackBytes
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:100,1
    - Dst: unpack
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:112,1
    - Dst: T
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:115,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 129
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached:
    - raw::size
    - ipmi::message::details::UnpackBytes
    - fillBits
    - unpack
    - T
    - raw::data
    - ipmi::message::details::UnpackBytesUnaligned
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, T& t)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:144,1
    - Dst: pop
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:150,1
    - Dst: reserve
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:155,1
    - Dst: insert
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:156,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 158
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached:
    - pop
    - raw::size
    - reserve
    - insert
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, std::string& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fillBits
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:171,1
    - Dst: convert_to
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - fixed_uint_t<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 180
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached:
    - convert_to
    - fillBits
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, fixed_uint_t<N>& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fillBits
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:190,1
    - Dst: static_cast<bool>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' p'
    - ' b'
    argTypes:
    - Payload
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 199
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached:
    - static_cast<bool>
    - fillBits
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, bool& b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fillBits
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:212,1
    - Dst: fixed_uint_t<details::bitStreamSize>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:217,1
    - Dst: convert_to
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:219,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::bitset<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 223
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached:
    - convert_to
    - fixed_uint_t<details::bitStreamSize>
    - fillBits
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, std::bitset<N>& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::getEthProp
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:238,1
    - Dst: reset
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:241,1
    - Dst: emplace
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:249,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::optional<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 252
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - emplace
    - ipmi::transport::getEthProp
    - reset
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, std::optional<T>& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::getEthProp
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:265,1
    - Dst: std::array<T, N>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:269,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::array<T, N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 274
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached:
    - ipmi::transport::getEthProp
    - std::array<T, N>
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, std::array<T, N>& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:283,1
    - Dst: fill
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:285,1
    - Dst: std::copy
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:289,1
    - Dst: raw::begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:289,1
    - Dst: raw::begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:289,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:290,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::array<uint8_t, N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 293
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached:
    - raw::size
    - raw::begin
    - std::copy
    - begin
    - fill
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, std::array<uint8_t, N>& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:302,1
    - Dst: emplace_back
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:304,1
    - Dst: ipmi::transport::getEthProp
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:305,1
    - Dst: back
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:305,1
    - Dst: pop_back
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:307,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::vector<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 317
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached:
    - raw::size
    - pop_back
    - back
    - ipmi::transport::getEthProp
    - emplace_back
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, std::vector<T>& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:327,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:327,1
    - Dst: insert
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:328,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:328,1
    - Dst: raw::begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:328,1
    - Dst: raw::end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:328,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 331
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached:
    - raw::size
    - insert
    - reserve
    - raw::begin
    - raw::end
    - begin
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, std::vector<uint8_t>& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:341,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:341,1
    - Dst: insert
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:342,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:342,1
    - Dst: raw::begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:342,1
    - Dst: raw::end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:342,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - SecureBuffer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 345
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached:
    - raw::size
    - insert
    - reserve
    - raw::begin
    - raw::end
    - begin
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, SecureBuffer& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:355,1
    - Dst: raw::begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:355,1
    - Dst: raw::end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:355,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::span<const uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 358
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached:
    - raw::size
    - raw::end
    - std::span<const uint8_t>
    - raw::begin
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, std::span<const uint8_t>& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - Payload
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 371
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, Payload& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<NumericType>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:46,1
    - Dst: ipmi::message::details::UnpackBytes
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pointer
    - ' i'
    argTypes:
    - uint8_t*
    - NumericType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 49
    functionName: ipmi::message::details::UnpackBytes
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 5
    functionsReached:
    - ipmi::message::details::UnpackBytes
    - static_cast<NumericType>
    linkageType: ''
    returnType: void
    signature: void UnpackBytes(uint8_t* pointer, NumericType& i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<NumericType>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:56,1
    - Dst: popBits
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:56,1
    - Dst: ipmi::message::details::UnpackBytesUnaligned
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' p'
    - ' i'
    argTypes:
    - Payload
    - NumericType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 60
    functionName: ipmi::message::details::UnpackBytesUnaligned
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 5
    functionsReached:
    - popBits
    - ipmi::message::details::UnpackBytesUnaligned
    - static_cast<NumericType>
    linkageType: ''
    returnType: void
    signature: void UnpackBytesUnaligned(Payload& p, NumericType& i)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fillBits
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:85,1
    - Dst: ipmi::message::details::UnpackBytesUnaligned
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:89,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:94,1
    - Dst: raw::data
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:98,1
    - Dst: ipmi::message::details::UnpackBytes
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:100,1
    - Dst: unpack
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:112,1
    - Dst: T
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:115,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 129
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached:
    - raw::size
    - ipmi::message::details::UnpackBytes
    - fillBits
    - unpack
    - T
    - raw::data
    - ipmi::message::details::UnpackBytesUnaligned
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, T& t)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:144,1
    - Dst: pop
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:150,1
    - Dst: reserve
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:155,1
    - Dst: insert
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:156,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 158
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached:
    - pop
    - raw::size
    - reserve
    - insert
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, std::string& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fillBits
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:171,1
    - Dst: convert_to
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - fixed_uint_t<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 180
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached:
    - convert_to
    - fillBits
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, fixed_uint_t<N>& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fillBits
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:190,1
    - Dst: static_cast<bool>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' p'
    - ' b'
    argTypes:
    - Payload
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 199
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached:
    - static_cast<bool>
    - fillBits
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, bool& b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fillBits
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:212,1
    - Dst: fixed_uint_t<details::bitStreamSize>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:217,1
    - Dst: convert_to
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:219,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::bitset<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 223
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached:
    - convert_to
    - fixed_uint_t<details::bitStreamSize>
    - fillBits
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, std::bitset<N>& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::getEthProp
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:238,1
    - Dst: reset
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:241,1
    - Dst: emplace
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:249,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::optional<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 252
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - emplace
    - ipmi::transport::getEthProp
    - reset
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, std::optional<T>& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::getEthProp
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:265,1
    - Dst: std::array<T, N>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:269,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::array<T, N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 274
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached:
    - ipmi::transport::getEthProp
    - std::array<T, N>
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, std::array<T, N>& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:283,1
    - Dst: fill
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:285,1
    - Dst: std::copy
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:289,1
    - Dst: raw::begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:289,1
    - Dst: raw::begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:289,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:290,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::array<uint8_t, N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 293
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached:
    - raw::size
    - raw::begin
    - std::copy
    - begin
    - fill
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, std::array<uint8_t, N>& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:302,1
    - Dst: emplace_back
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:304,1
    - Dst: ipmi::transport::getEthProp
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:305,1
    - Dst: back
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:305,1
    - Dst: pop_back
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:307,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::vector<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 317
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached:
    - raw::size
    - pop_back
    - back
    - ipmi::transport::getEthProp
    - emplace_back
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, std::vector<T>& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:327,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:327,1
    - Dst: insert
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:328,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:328,1
    - Dst: raw::begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:328,1
    - Dst: raw::end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:328,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 331
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached:
    - raw::size
    - insert
    - reserve
    - raw::begin
    - raw::end
    - begin
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, std::vector<uint8_t>& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:341,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:341,1
    - Dst: insert
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:342,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:342,1
    - Dst: raw::begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:342,1
    - Dst: raw::end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:342,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - SecureBuffer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 345
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached:
    - raw::size
    - insert
    - reserve
    - raw::begin
    - raw::end
    - begin
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, SecureBuffer& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:355,1
    - Dst: raw::begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:355,1
    - Dst: raw::end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:355,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::span<const uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 358
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached:
    - raw::size
    - raw::end
    - std::span<const uint8_t>
    - raw::begin
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, std::span<const uint8_t>& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - Payload
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 371
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, Payload& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<NumericType>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:46,1
    - Dst: ipmi::message::details::UnpackBytes
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pointer
    - ' i'
    argTypes:
    - uint8_t*
    - NumericType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 49
    functionName: ipmi::message::details::UnpackBytes
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 7
    functionsReached:
    - ipmi::message::details::UnpackBytes
    - static_cast<NumericType>
    linkageType: ''
    returnType: void
    signature: void UnpackBytes(uint8_t* pointer, NumericType& i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<NumericType>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:56,1
    - Dst: popBits
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:56,1
    - Dst: ipmi::message::details::UnpackBytesUnaligned
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' p'
    - ' i'
    argTypes:
    - Payload
    - NumericType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 60
    functionName: ipmi::message::details::UnpackBytesUnaligned
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 7
    functionsReached:
    - popBits
    - ipmi::message::details::UnpackBytesUnaligned
    - static_cast<NumericType>
    linkageType: ''
    returnType: void
    signature: void UnpackBytesUnaligned(Payload& p, NumericType& i)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fillBits
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:85,1
    - Dst: ipmi::message::details::UnpackBytesUnaligned
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:89,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:94,1
    - Dst: raw::data
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:98,1
    - Dst: ipmi::message::details::UnpackBytes
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:100,1
    - Dst: unpack
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:112,1
    - Dst: T
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:115,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 129
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached:
    - raw::size
    - ipmi::message::details::UnpackBytes
    - fillBits
    - unpack
    - T
    - raw::data
    - ipmi::message::details::UnpackBytesUnaligned
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, T& t)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:144,1
    - Dst: pop
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:150,1
    - Dst: reserve
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:155,1
    - Dst: insert
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:156,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 158
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached:
    - pop
    - raw::size
    - reserve
    - insert
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, std::string& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fillBits
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:171,1
    - Dst: convert_to
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - fixed_uint_t<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 180
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached:
    - convert_to
    - fillBits
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, fixed_uint_t<N>& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fillBits
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:190,1
    - Dst: static_cast<bool>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' p'
    - ' b'
    argTypes:
    - Payload
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 199
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached:
    - static_cast<bool>
    - fillBits
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, bool& b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fillBits
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:212,1
    - Dst: fixed_uint_t<details::bitStreamSize>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:217,1
    - Dst: convert_to
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:219,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::bitset<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 223
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached:
    - convert_to
    - fixed_uint_t<details::bitStreamSize>
    - fillBits
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, std::bitset<N>& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::getEthProp
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:238,1
    - Dst: reset
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:241,1
    - Dst: emplace
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:249,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::optional<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 252
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - emplace
    - ipmi::transport::getEthProp
    - reset
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, std::optional<T>& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::getEthProp
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:265,1
    - Dst: std::array<T, N>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:269,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::array<T, N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 274
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached:
    - ipmi::transport::getEthProp
    - std::array<T, N>
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, std::array<T, N>& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:283,1
    - Dst: fill
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:285,1
    - Dst: std::copy
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:289,1
    - Dst: raw::begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:289,1
    - Dst: raw::begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:289,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:290,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::array<uint8_t, N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 293
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached:
    - raw::size
    - raw::begin
    - std::copy
    - begin
    - fill
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, std::array<uint8_t, N>& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:302,1
    - Dst: emplace_back
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:304,1
    - Dst: ipmi::transport::getEthProp
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:305,1
    - Dst: back
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:305,1
    - Dst: pop_back
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:307,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::vector<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 317
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached:
    - raw::size
    - pop_back
    - back
    - ipmi::transport::getEthProp
    - emplace_back
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, std::vector<T>& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:327,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:327,1
    - Dst: insert
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:328,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:328,1
    - Dst: raw::begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:328,1
    - Dst: raw::end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:328,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 331
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached:
    - raw::size
    - insert
    - reserve
    - raw::begin
    - raw::end
    - begin
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, std::vector<uint8_t>& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:341,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:341,1
    - Dst: insert
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:342,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:342,1
    - Dst: raw::begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:342,1
    - Dst: raw::end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:342,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - SecureBuffer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 345
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached:
    - raw::size
    - insert
    - reserve
    - raw::begin
    - raw::end
    - begin
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, SecureBuffer& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:355,1
    - Dst: raw::begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:355,1
    - Dst: raw::end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:355,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::span<const uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 358
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached:
    - raw::size
    - raw::end
    - std::span<const uint8_t>
    - raw::begin
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, std::span<const uint8_t>& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - Payload
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 371
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, Payload& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<NumericType>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:46,1
    - Dst: ipmi::message::details::UnpackBytes
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pointer
    - ' i'
    argTypes:
    - uint8_t*
    - NumericType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 49
    functionName: ipmi::message::details::UnpackBytes
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 9
    functionsReached:
    - ipmi::message::details::UnpackBytes
    - static_cast<NumericType>
    linkageType: ''
    returnType: void
    signature: void UnpackBytes(uint8_t* pointer, NumericType& i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<NumericType>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:56,1
    - Dst: popBits
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:56,1
    - Dst: ipmi::message::details::UnpackBytesUnaligned
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' p'
    - ' i'
    argTypes:
    - Payload
    - NumericType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 60
    functionName: ipmi::message::details::UnpackBytesUnaligned
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 9
    functionsReached:
    - popBits
    - ipmi::message::details::UnpackBytesUnaligned
    - static_cast<NumericType>
    linkageType: ''
    returnType: void
    signature: void UnpackBytesUnaligned(Payload& p, NumericType& i)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fillBits
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:85,1
    - Dst: ipmi::message::details::UnpackBytesUnaligned
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:89,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:94,1
    - Dst: raw::data
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:98,1
    - Dst: ipmi::message::details::UnpackBytes
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:100,1
    - Dst: unpack
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:112,1
    - Dst: T
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:115,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 129
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached:
    - raw::size
    - ipmi::message::details::UnpackBytes
    - fillBits
    - unpack
    - T
    - raw::data
    - ipmi::message::details::UnpackBytesUnaligned
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, T& t)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:144,1
    - Dst: pop
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:150,1
    - Dst: reserve
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:155,1
    - Dst: insert
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:156,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 158
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached:
    - pop
    - raw::size
    - reserve
    - insert
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, std::string& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fillBits
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:171,1
    - Dst: convert_to
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - fixed_uint_t<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 180
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached:
    - convert_to
    - fillBits
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, fixed_uint_t<N>& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fillBits
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:190,1
    - Dst: static_cast<bool>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' p'
    - ' b'
    argTypes:
    - Payload
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 199
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached:
    - static_cast<bool>
    - fillBits
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, bool& b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fillBits
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:212,1
    - Dst: fixed_uint_t<details::bitStreamSize>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:217,1
    - Dst: convert_to
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:219,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::bitset<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 223
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached:
    - convert_to
    - fixed_uint_t<details::bitStreamSize>
    - fillBits
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, std::bitset<N>& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::getEthProp
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:238,1
    - Dst: reset
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:241,1
    - Dst: emplace
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:249,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::optional<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 252
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - emplace
    - ipmi::transport::getEthProp
    - reset
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, std::optional<T>& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::getEthProp
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:265,1
    - Dst: std::array<T, N>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:269,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::array<T, N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 274
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached:
    - ipmi::transport::getEthProp
    - std::array<T, N>
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, std::array<T, N>& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:283,1
    - Dst: fill
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:285,1
    - Dst: std::copy
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:289,1
    - Dst: raw::begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:289,1
    - Dst: raw::begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:289,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:290,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::array<uint8_t, N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 293
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached:
    - raw::size
    - raw::begin
    - std::copy
    - begin
    - fill
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, std::array<uint8_t, N>& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:302,1
    - Dst: emplace_back
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:304,1
    - Dst: ipmi::transport::getEthProp
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:305,1
    - Dst: back
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:305,1
    - Dst: pop_back
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:307,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::vector<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 317
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached:
    - raw::size
    - pop_back
    - back
    - ipmi::transport::getEthProp
    - emplace_back
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, std::vector<T>& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:327,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:327,1
    - Dst: insert
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:328,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:328,1
    - Dst: raw::begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:328,1
    - Dst: raw::end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:328,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 331
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached:
    - raw::size
    - insert
    - reserve
    - raw::begin
    - raw::end
    - begin
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, std::vector<uint8_t>& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:341,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:341,1
    - Dst: insert
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:342,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:342,1
    - Dst: raw::begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:342,1
    - Dst: raw::end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:342,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - SecureBuffer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 345
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached:
    - raw::size
    - insert
    - reserve
    - raw::begin
    - raw::end
    - begin
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, SecureBuffer& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:355,1
    - Dst: raw::begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:355,1
    - Dst: raw::end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:355,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::span<const uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 358
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached:
    - raw::size
    - raw::end
    - std::span<const uint8_t>
    - raw::begin
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, std::span<const uint8_t>& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - Payload
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 371
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, Payload& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<NumericType>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:46,1
    - Dst: ipmi::message::details::UnpackBytes
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pointer
    - ' i'
    argTypes:
    - uint8_t*
    - NumericType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 49
    functionName: ipmi::message::details::UnpackBytes
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 11
    functionsReached:
    - ipmi::message::details::UnpackBytes
    - static_cast<NumericType>
    linkageType: ''
    returnType: void
    signature: void UnpackBytes(uint8_t* pointer, NumericType& i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<NumericType>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:56,1
    - Dst: popBits
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:56,1
    - Dst: ipmi::message::details::UnpackBytesUnaligned
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' p'
    - ' i'
    argTypes:
    - Payload
    - NumericType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 60
    functionName: ipmi::message::details::UnpackBytesUnaligned
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 11
    functionsReached:
    - popBits
    - ipmi::message::details::UnpackBytesUnaligned
    - static_cast<NumericType>
    linkageType: ''
    returnType: void
    signature: void UnpackBytesUnaligned(Payload& p, NumericType& i)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fillBits
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:85,1
    - Dst: ipmi::message::details::UnpackBytesUnaligned
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:89,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:94,1
    - Dst: raw::data
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:98,1
    - Dst: ipmi::message::details::UnpackBytes
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:100,1
    - Dst: unpack
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:112,1
    - Dst: T
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:115,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 129
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached:
    - raw::size
    - ipmi::message::details::UnpackBytes
    - fillBits
    - unpack
    - T
    - raw::data
    - ipmi::message::details::UnpackBytesUnaligned
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, T& t)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:144,1
    - Dst: pop
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:150,1
    - Dst: reserve
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:155,1
    - Dst: insert
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:156,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 158
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached:
    - pop
    - raw::size
    - reserve
    - insert
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, std::string& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fillBits
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:171,1
    - Dst: convert_to
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - fixed_uint_t<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 180
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached:
    - convert_to
    - fillBits
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, fixed_uint_t<N>& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fillBits
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:190,1
    - Dst: static_cast<bool>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' p'
    - ' b'
    argTypes:
    - Payload
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 199
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached:
    - static_cast<bool>
    - fillBits
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, bool& b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fillBits
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:212,1
    - Dst: fixed_uint_t<details::bitStreamSize>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:217,1
    - Dst: convert_to
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:219,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::bitset<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 223
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached:
    - convert_to
    - fixed_uint_t<details::bitStreamSize>
    - fillBits
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, std::bitset<N>& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::getEthProp
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:238,1
    - Dst: reset
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:241,1
    - Dst: emplace
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:249,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::optional<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 252
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - emplace
    - ipmi::transport::getEthProp
    - reset
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, std::optional<T>& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::getEthProp
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:265,1
    - Dst: std::array<T, N>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:269,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::array<T, N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 274
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached:
    - ipmi::transport::getEthProp
    - std::array<T, N>
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, std::array<T, N>& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:283,1
    - Dst: fill
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:285,1
    - Dst: std::copy
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:289,1
    - Dst: raw::begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:289,1
    - Dst: raw::begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:289,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:290,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::array<uint8_t, N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 293
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached:
    - raw::size
    - raw::begin
    - std::copy
    - begin
    - fill
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, std::array<uint8_t, N>& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:302,1
    - Dst: emplace_back
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:304,1
    - Dst: ipmi::transport::getEthProp
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:305,1
    - Dst: back
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:305,1
    - Dst: pop_back
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:307,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::vector<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 317
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached:
    - raw::size
    - pop_back
    - back
    - ipmi::transport::getEthProp
    - emplace_back
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, std::vector<T>& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:327,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:327,1
    - Dst: insert
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:328,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:328,1
    - Dst: raw::begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:328,1
    - Dst: raw::end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:328,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 331
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached:
    - raw::size
    - insert
    - reserve
    - raw::begin
    - raw::end
    - begin
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, std::vector<uint8_t>& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:341,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:341,1
    - Dst: insert
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:342,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:342,1
    - Dst: raw::begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:342,1
    - Dst: raw::end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:342,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - SecureBuffer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 345
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached:
    - raw::size
    - insert
    - reserve
    - raw::begin
    - raw::end
    - begin
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, SecureBuffer& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:355,1
    - Dst: raw::begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:355,1
    - Dst: raw::end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:355,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::span<const uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 358
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached:
    - raw::size
    - raw::end
    - std::span<const uint8_t>
    - raw::begin
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, std::span<const uint8_t>& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - Payload
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 371
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, Payload& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<NumericType>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:46,1
    - Dst: ipmi::message::details::UnpackBytes
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pointer
    - ' i'
    argTypes:
    - uint8_t*
    - NumericType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 49
    functionName: ipmi::message::details::UnpackBytes
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 13
    functionsReached:
    - ipmi::message::details::UnpackBytes
    - static_cast<NumericType>
    linkageType: ''
    returnType: void
    signature: void UnpackBytes(uint8_t* pointer, NumericType& i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<NumericType>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:56,1
    - Dst: popBits
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:56,1
    - Dst: ipmi::message::details::UnpackBytesUnaligned
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' p'
    - ' i'
    argTypes:
    - Payload
    - NumericType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 60
    functionName: ipmi::message::details::UnpackBytesUnaligned
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 13
    functionsReached:
    - popBits
    - ipmi::message::details::UnpackBytesUnaligned
    - static_cast<NumericType>
    linkageType: ''
    returnType: void
    signature: void UnpackBytesUnaligned(Payload& p, NumericType& i)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fillBits
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:85,1
    - Dst: ipmi::message::details::UnpackBytesUnaligned
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:89,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:94,1
    - Dst: raw::data
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:98,1
    - Dst: ipmi::message::details::UnpackBytes
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:100,1
    - Dst: unpack
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:112,1
    - Dst: T
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:115,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 129
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached:
    - raw::size
    - ipmi::message::details::UnpackBytes
    - fillBits
    - unpack
    - T
    - raw::data
    - ipmi::message::details::UnpackBytesUnaligned
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, T& t)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:144,1
    - Dst: pop
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:150,1
    - Dst: reserve
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:155,1
    - Dst: insert
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:156,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 158
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached:
    - pop
    - raw::size
    - reserve
    - insert
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, std::string& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fillBits
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:171,1
    - Dst: convert_to
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - fixed_uint_t<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 180
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached:
    - convert_to
    - fillBits
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, fixed_uint_t<N>& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fillBits
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:190,1
    - Dst: static_cast<bool>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' p'
    - ' b'
    argTypes:
    - Payload
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 199
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached:
    - static_cast<bool>
    - fillBits
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, bool& b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fillBits
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:212,1
    - Dst: fixed_uint_t<details::bitStreamSize>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:217,1
    - Dst: convert_to
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:219,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::bitset<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 223
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached:
    - convert_to
    - fixed_uint_t<details::bitStreamSize>
    - fillBits
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, std::bitset<N>& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::getEthProp
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:238,1
    - Dst: reset
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:241,1
    - Dst: emplace
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:249,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::optional<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 252
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - emplace
    - ipmi::transport::getEthProp
    - reset
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, std::optional<T>& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::getEthProp
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:265,1
    - Dst: std::array<T, N>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:269,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::array<T, N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 274
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached:
    - ipmi::transport::getEthProp
    - std::array<T, N>
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, std::array<T, N>& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:283,1
    - Dst: fill
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:285,1
    - Dst: std::copy
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:289,1
    - Dst: raw::begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:289,1
    - Dst: raw::begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:289,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:290,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::array<uint8_t, N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 293
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached:
    - raw::size
    - raw::begin
    - std::copy
    - begin
    - fill
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, std::array<uint8_t, N>& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:302,1
    - Dst: emplace_back
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:304,1
    - Dst: ipmi::transport::getEthProp
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:305,1
    - Dst: back
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:305,1
    - Dst: pop_back
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:307,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::vector<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 317
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached:
    - raw::size
    - pop_back
    - back
    - ipmi::transport::getEthProp
    - emplace_back
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, std::vector<T>& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:327,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:327,1
    - Dst: insert
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:328,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:328,1
    - Dst: raw::begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:328,1
    - Dst: raw::end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:328,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 331
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached:
    - raw::size
    - insert
    - reserve
    - raw::begin
    - raw::end
    - begin
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, std::vector<uint8_t>& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:341,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:341,1
    - Dst: insert
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:342,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:342,1
    - Dst: raw::begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:342,1
    - Dst: raw::end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:342,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - SecureBuffer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 345
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached:
    - raw::size
    - insert
    - reserve
    - raw::begin
    - raw::end
    - begin
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, SecureBuffer& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:355,1
    - Dst: raw::begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:355,1
    - Dst: raw::end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:355,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::span<const uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 358
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached:
    - raw::size
    - raw::end
    - std::span<const uint8_t>
    - raw::begin
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, std::span<const uint8_t>& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - Payload
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 371
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, Payload& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<NumericType>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:46,1
    - Dst: ipmi::message::details::UnpackBytes
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pointer
    - ' i'
    argTypes:
    - uint8_t*
    - NumericType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 49
    functionName: ipmi::message::details::UnpackBytes
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 15
    functionsReached:
    - ipmi::message::details::UnpackBytes
    - static_cast<NumericType>
    linkageType: ''
    returnType: void
    signature: void UnpackBytes(uint8_t* pointer, NumericType& i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<NumericType>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:56,1
    - Dst: popBits
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:56,1
    - Dst: ipmi::message::details::UnpackBytesUnaligned
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' p'
    - ' i'
    argTypes:
    - Payload
    - NumericType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 60
    functionName: ipmi::message::details::UnpackBytesUnaligned
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 15
    functionsReached:
    - popBits
    - ipmi::message::details::UnpackBytesUnaligned
    - static_cast<NumericType>
    linkageType: ''
    returnType: void
    signature: void UnpackBytesUnaligned(Payload& p, NumericType& i)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fillBits
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:85,1
    - Dst: ipmi::message::details::UnpackBytesUnaligned
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:89,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:94,1
    - Dst: raw::data
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:98,1
    - Dst: ipmi::message::details::UnpackBytes
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:100,1
    - Dst: unpack
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:112,1
    - Dst: T
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:115,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 129
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached:
    - raw::size
    - ipmi::message::details::UnpackBytes
    - fillBits
    - unpack
    - T
    - raw::data
    - ipmi::message::details::UnpackBytesUnaligned
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, T& t)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:144,1
    - Dst: pop
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:150,1
    - Dst: reserve
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:155,1
    - Dst: insert
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:156,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 158
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached:
    - pop
    - raw::size
    - reserve
    - insert
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, std::string& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fillBits
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:171,1
    - Dst: convert_to
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - fixed_uint_t<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 180
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached:
    - convert_to
    - fillBits
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, fixed_uint_t<N>& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fillBits
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:190,1
    - Dst: static_cast<bool>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' p'
    - ' b'
    argTypes:
    - Payload
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 199
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached:
    - static_cast<bool>
    - fillBits
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, bool& b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fillBits
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:212,1
    - Dst: fixed_uint_t<details::bitStreamSize>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:217,1
    - Dst: convert_to
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:219,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::bitset<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 223
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached:
    - convert_to
    - fixed_uint_t<details::bitStreamSize>
    - fillBits
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, std::bitset<N>& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::getEthProp
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:238,1
    - Dst: reset
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:241,1
    - Dst: emplace
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:249,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::optional<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 252
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - emplace
    - ipmi::transport::getEthProp
    - reset
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, std::optional<T>& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::getEthProp
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:265,1
    - Dst: std::array<T, N>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:269,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::array<T, N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 274
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached:
    - ipmi::transport::getEthProp
    - std::array<T, N>
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, std::array<T, N>& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:283,1
    - Dst: fill
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:285,1
    - Dst: std::copy
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:289,1
    - Dst: raw::begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:289,1
    - Dst: raw::begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:289,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:290,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::array<uint8_t, N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 293
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached:
    - raw::size
    - raw::begin
    - std::copy
    - begin
    - fill
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, std::array<uint8_t, N>& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:302,1
    - Dst: emplace_back
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:304,1
    - Dst: ipmi::transport::getEthProp
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:305,1
    - Dst: back
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:305,1
    - Dst: pop_back
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:307,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::vector<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 317
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached:
    - raw::size
    - pop_back
    - back
    - ipmi::transport::getEthProp
    - emplace_back
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, std::vector<T>& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:327,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:327,1
    - Dst: insert
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:328,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:328,1
    - Dst: raw::begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:328,1
    - Dst: raw::end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:328,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 331
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached:
    - raw::size
    - insert
    - reserve
    - raw::begin
    - raw::end
    - begin
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, std::vector<uint8_t>& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:341,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:341,1
    - Dst: insert
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:342,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:342,1
    - Dst: raw::begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:342,1
    - Dst: raw::end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:342,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - SecureBuffer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 345
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached:
    - raw::size
    - insert
    - reserve
    - raw::begin
    - raw::end
    - begin
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, SecureBuffer& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:355,1
    - Dst: raw::begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:355,1
    - Dst: raw::end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:355,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::span<const uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 358
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached:
    - raw::size
    - raw::end
    - std::span<const uint8_t>
    - raw::begin
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, std::span<const uint8_t>& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - Payload
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 371
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, Payload& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:51,1
    - Dst: ipmi::message::details::PackBytes
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pointer
    - ' i'
    argTypes:
    - uint8_t*
    - NumericType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 54
    functionName: ipmi::message::details::PackBytes
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 1
    functionsReached:
    - static_cast<uint8_t>
    - ipmi::message::details::PackBytes
    linkageType: ''
    returnType: void
    signature: void PackBytes(uint8_t* pointer, const NumericType& i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: appendBits
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:61,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:61,1
    - Dst: ipmi::message::details::PackBytesUnaligned
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' p'
    - ' i'
    argTypes:
    - Payload
    - NumericType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: ipmi::message::details::PackBytesUnaligned
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 1
    functionsReached:
    - appendBits
    - static_cast<uint8_t>
    - ipmi::message::details::PackBytesUnaligned
    linkageType: ''
    returnType: void
    signature: void PackBytesUnaligned(Payload& p, const NumericType& i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::details::PackBytesUnaligned
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:89,1
    - Dst: raw::resize
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:94,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:94,1
    - Dst: raw::data
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:95,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:95,1
    - Dst: ipmi::message::details::PackBytes
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 99
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - raw::size
    - ipmi::message::details::PackBytesUnaligned
    - raw::resize
    - ipmi::message::details::PackBytes
    - raw::data
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const T& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::apply
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:108,1
    - Dst: pack
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' p'
    - ' v'
    argTypes:
    - Payload
    - std::tuple<T...>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 110
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - std::apply
    - pack
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const std::tuple<T...>& v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:123,1
    - Dst: std::numeric_limits<decltype(len)>::max
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:123,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:125,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:128,1
    - Dst: length
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:128,1
    - Dst: ipmi::transport::getEthProp
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:129,1
    - Dst: append
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:130,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:130,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:130,1
    - Dst: length
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 132
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - append
    - ipmi::transport::getEthProp
    - c_str
    - static_cast<uint8_t>
    - length
    - std::numeric_limits<decltype(len)>::max
    - lg2::error
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const std::string& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:146,1
    - Dst: std::min
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:149,1
    - Dst: static_cast<size_t>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:149,1
    - Dst: appendBits
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:150,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - fixed_uint_t<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 155
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - std::min
    - static_cast<uint64_t>
    - static_cast<uint8_t>
    - appendBits
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const fixed_uint_t<N>& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: appendBits
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' p'
    - ' b'
    argTypes:
    - Payload
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 166
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - appendBits
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const bool& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: to_ullong
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:177,1
    - Dst: std::min
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:180,1
    - Dst: appendBits
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:181,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::bitset<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 186
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - appendBits
    - to_ullong
    - std::min
    - static_cast<uint8_t>
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const std::bitset<N>& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::getEthProp
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::optional<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 201
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - ipmi::transport::getEthProp
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const std::optional<T>& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::getEthProp
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:213,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::array<T, N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 220
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - ipmi::transport::getEthProp
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const std::array<T, N>& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::getEthProp
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:232,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::vector<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 239
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - ipmi::transport::getEthProp
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const std::vector<T>& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: raw::reserve
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:252,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:252,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:252,1
    - Dst: raw::insert
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:253,1
    - Dst: raw::end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:253,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:253,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 255
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - raw::size
    - raw::insert
    - raw::reserve
    - size
    - raw::end
    - end
    - begin
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const std::vector<uint8_t>& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: raw::reserve
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:268,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:268,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:268,1
    - Dst: raw::insert
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:269,1
    - Dst: raw::end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:269,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:269,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - SecureBuffer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 271
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - raw::size
    - raw::insert
    - raw::reserve
    - size
    - raw::end
    - end
    - begin
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const SecureBuffer& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: raw::reserve
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:284,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:284,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:284,1
    - Dst: raw::insert
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:285,1
    - Dst: raw::end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:285,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:285,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::span<const uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 287
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - raw::size
    - raw::insert
    - raw::reserve
    - size
    - raw::end
    - end
    - begin
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const std::span<const uint8_t>& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: raw::reserve
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:300,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:300,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:300,1
    - Dst: raw::insert
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:301,1
    - Dst: raw::end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:301,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:301,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:301,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 303
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - raw::size
    - raw::insert
    - raw::reserve
    - size
    - raw::end
    - end
    - begin
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const std::string_view& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::visit
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:312,1
    - Dst: ipmi::transport::getEthProp
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' p'
    - ' v'
    argTypes:
    - Payload
    - std::variant<T...>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 317
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - std::visit
    - ipmi::transport::getEthProp
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const std::variant<T...>& v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: raw::reserve
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:330,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:330,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:330,1
    - Dst: raw::insert
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:331,1
    - Dst: raw::end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:331,1
    - Dst: raw::begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:331,1
    - Dst: raw::end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:331,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - Payload
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 333
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - raw::size
    - raw::insert
    - raw::reserve
    - raw::begin
    - raw::end
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const Payload& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:51,1
    - Dst: ipmi::message::details::PackBytes
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pointer
    - ' i'
    argTypes:
    - uint8_t*
    - NumericType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 54
    functionName: ipmi::message::details::PackBytes
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 3
    functionsReached:
    - static_cast<uint8_t>
    - ipmi::message::details::PackBytes
    linkageType: ''
    returnType: void
    signature: void PackBytes(uint8_t* pointer, const NumericType& i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: appendBits
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:61,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:61,1
    - Dst: ipmi::message::details::PackBytesUnaligned
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' p'
    - ' i'
    argTypes:
    - Payload
    - NumericType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: ipmi::message::details::PackBytesUnaligned
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 3
    functionsReached:
    - appendBits
    - static_cast<uint8_t>
    - ipmi::message::details::PackBytesUnaligned
    linkageType: ''
    returnType: void
    signature: void PackBytesUnaligned(Payload& p, const NumericType& i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::details::PackBytesUnaligned
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:89,1
    - Dst: raw::resize
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:94,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:94,1
    - Dst: raw::data
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:95,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:95,1
    - Dst: ipmi::message::details::PackBytes
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 99
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - raw::size
    - ipmi::message::details::PackBytesUnaligned
    - raw::resize
    - ipmi::message::details::PackBytes
    - raw::data
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const T& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::apply
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:108,1
    - Dst: pack
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' p'
    - ' v'
    argTypes:
    - Payload
    - std::tuple<T...>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 110
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - std::apply
    - pack
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const std::tuple<T...>& v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:123,1
    - Dst: std::numeric_limits<decltype(len)>::max
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:123,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:125,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:128,1
    - Dst: length
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:128,1
    - Dst: ipmi::transport::getEthProp
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:129,1
    - Dst: append
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:130,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:130,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:130,1
    - Dst: length
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 132
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - append
    - ipmi::transport::getEthProp
    - c_str
    - static_cast<uint8_t>
    - length
    - std::numeric_limits<decltype(len)>::max
    - lg2::error
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const std::string& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:146,1
    - Dst: std::min
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:149,1
    - Dst: static_cast<size_t>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:149,1
    - Dst: appendBits
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:150,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - fixed_uint_t<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 155
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - std::min
    - static_cast<uint64_t>
    - static_cast<uint8_t>
    - appendBits
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const fixed_uint_t<N>& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: appendBits
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' p'
    - ' b'
    argTypes:
    - Payload
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 166
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - appendBits
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const bool& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: to_ullong
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:177,1
    - Dst: std::min
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:180,1
    - Dst: appendBits
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:181,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::bitset<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 186
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - appendBits
    - to_ullong
    - std::min
    - static_cast<uint8_t>
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const std::bitset<N>& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::getEthProp
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::optional<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 201
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - ipmi::transport::getEthProp
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const std::optional<T>& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::getEthProp
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:213,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::array<T, N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 220
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - ipmi::transport::getEthProp
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const std::array<T, N>& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::getEthProp
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:232,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::vector<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 239
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - ipmi::transport::getEthProp
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const std::vector<T>& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: raw::reserve
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:252,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:252,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:252,1
    - Dst: raw::insert
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:253,1
    - Dst: raw::end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:253,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:253,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 255
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - raw::size
    - raw::insert
    - raw::reserve
    - size
    - raw::end
    - end
    - begin
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const std::vector<uint8_t>& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: raw::reserve
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:268,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:268,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:268,1
    - Dst: raw::insert
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:269,1
    - Dst: raw::end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:269,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:269,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - SecureBuffer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 271
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - raw::size
    - raw::insert
    - raw::reserve
    - size
    - raw::end
    - end
    - begin
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const SecureBuffer& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: raw::reserve
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:284,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:284,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:284,1
    - Dst: raw::insert
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:285,1
    - Dst: raw::end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:285,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:285,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::span<const uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 287
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - raw::size
    - raw::insert
    - raw::reserve
    - size
    - raw::end
    - end
    - begin
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const std::span<const uint8_t>& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: raw::reserve
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:300,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:300,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:300,1
    - Dst: raw::insert
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:301,1
    - Dst: raw::end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:301,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:301,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:301,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 303
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - raw::size
    - raw::insert
    - raw::reserve
    - size
    - raw::end
    - end
    - begin
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const std::string_view& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::visit
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:312,1
    - Dst: ipmi::transport::getEthProp
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' p'
    - ' v'
    argTypes:
    - Payload
    - std::variant<T...>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 317
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - std::visit
    - ipmi::transport::getEthProp
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const std::variant<T...>& v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: raw::reserve
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:330,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:330,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:330,1
    - Dst: raw::insert
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:331,1
    - Dst: raw::end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:331,1
    - Dst: raw::begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:331,1
    - Dst: raw::end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:331,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - Payload
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 333
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - raw::size
    - raw::insert
    - raw::reserve
    - raw::begin
    - raw::end
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const Payload& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:51,1
    - Dst: ipmi::message::details::PackBytes
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pointer
    - ' i'
    argTypes:
    - uint8_t*
    - NumericType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 54
    functionName: ipmi::message::details::PackBytes
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 5
    functionsReached:
    - static_cast<uint8_t>
    - ipmi::message::details::PackBytes
    linkageType: ''
    returnType: void
    signature: void PackBytes(uint8_t* pointer, const NumericType& i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: appendBits
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:61,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:61,1
    - Dst: ipmi::message::details::PackBytesUnaligned
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' p'
    - ' i'
    argTypes:
    - Payload
    - NumericType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: ipmi::message::details::PackBytesUnaligned
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 5
    functionsReached:
    - appendBits
    - static_cast<uint8_t>
    - ipmi::message::details::PackBytesUnaligned
    linkageType: ''
    returnType: void
    signature: void PackBytesUnaligned(Payload& p, const NumericType& i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::details::PackBytesUnaligned
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:89,1
    - Dst: raw::resize
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:94,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:94,1
    - Dst: raw::data
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:95,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:95,1
    - Dst: ipmi::message::details::PackBytes
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 99
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - raw::size
    - ipmi::message::details::PackBytesUnaligned
    - raw::resize
    - ipmi::message::details::PackBytes
    - raw::data
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const T& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::apply
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:108,1
    - Dst: pack
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' p'
    - ' v'
    argTypes:
    - Payload
    - std::tuple<T...>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 110
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - std::apply
    - pack
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const std::tuple<T...>& v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:123,1
    - Dst: std::numeric_limits<decltype(len)>::max
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:123,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:125,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:128,1
    - Dst: length
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:128,1
    - Dst: ipmi::transport::getEthProp
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:129,1
    - Dst: append
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:130,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:130,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:130,1
    - Dst: length
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 132
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - append
    - ipmi::transport::getEthProp
    - c_str
    - static_cast<uint8_t>
    - length
    - std::numeric_limits<decltype(len)>::max
    - lg2::error
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const std::string& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:146,1
    - Dst: std::min
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:149,1
    - Dst: static_cast<size_t>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:149,1
    - Dst: appendBits
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:150,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - fixed_uint_t<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 155
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - std::min
    - static_cast<uint64_t>
    - static_cast<uint8_t>
    - appendBits
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const fixed_uint_t<N>& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: appendBits
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' p'
    - ' b'
    argTypes:
    - Payload
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 166
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - appendBits
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const bool& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: to_ullong
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:177,1
    - Dst: std::min
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:180,1
    - Dst: appendBits
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:181,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::bitset<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 186
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - appendBits
    - to_ullong
    - std::min
    - static_cast<uint8_t>
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const std::bitset<N>& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::getEthProp
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::optional<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 201
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - ipmi::transport::getEthProp
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const std::optional<T>& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::getEthProp
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:213,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::array<T, N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 220
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - ipmi::transport::getEthProp
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const std::array<T, N>& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::getEthProp
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:232,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::vector<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 239
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - ipmi::transport::getEthProp
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const std::vector<T>& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: raw::reserve
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:252,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:252,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:252,1
    - Dst: raw::insert
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:253,1
    - Dst: raw::end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:253,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:253,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 255
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - raw::size
    - raw::insert
    - raw::reserve
    - size
    - raw::end
    - end
    - begin
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const std::vector<uint8_t>& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: raw::reserve
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:268,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:268,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:268,1
    - Dst: raw::insert
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:269,1
    - Dst: raw::end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:269,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:269,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - SecureBuffer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 271
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - raw::size
    - raw::insert
    - raw::reserve
    - size
    - raw::end
    - end
    - begin
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const SecureBuffer& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: raw::reserve
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:284,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:284,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:284,1
    - Dst: raw::insert
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:285,1
    - Dst: raw::end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:285,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:285,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::span<const uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 287
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - raw::size
    - raw::insert
    - raw::reserve
    - size
    - raw::end
    - end
    - begin
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const std::span<const uint8_t>& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: raw::reserve
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:300,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:300,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:300,1
    - Dst: raw::insert
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:301,1
    - Dst: raw::end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:301,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:301,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:301,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 303
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - raw::size
    - raw::insert
    - raw::reserve
    - size
    - raw::end
    - end
    - begin
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const std::string_view& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::visit
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:312,1
    - Dst: ipmi::transport::getEthProp
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' p'
    - ' v'
    argTypes:
    - Payload
    - std::variant<T...>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 317
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - std::visit
    - ipmi::transport::getEthProp
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const std::variant<T...>& v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: raw::reserve
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:330,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:330,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:330,1
    - Dst: raw::insert
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:331,1
    - Dst: raw::end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:331,1
    - Dst: raw::begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:331,1
    - Dst: raw::end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:331,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - Payload
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 333
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - raw::size
    - raw::insert
    - raw::reserve
    - raw::begin
    - raw::end
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const Payload& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:51,1
    - Dst: ipmi::message::details::PackBytes
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pointer
    - ' i'
    argTypes:
    - uint8_t*
    - NumericType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 54
    functionName: ipmi::message::details::PackBytes
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 7
    functionsReached:
    - static_cast<uint8_t>
    - ipmi::message::details::PackBytes
    linkageType: ''
    returnType: void
    signature: void PackBytes(uint8_t* pointer, const NumericType& i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: appendBits
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:61,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:61,1
    - Dst: ipmi::message::details::PackBytesUnaligned
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' p'
    - ' i'
    argTypes:
    - Payload
    - NumericType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: ipmi::message::details::PackBytesUnaligned
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 7
    functionsReached:
    - appendBits
    - static_cast<uint8_t>
    - ipmi::message::details::PackBytesUnaligned
    linkageType: ''
    returnType: void
    signature: void PackBytesUnaligned(Payload& p, const NumericType& i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::details::PackBytesUnaligned
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:89,1
    - Dst: raw::resize
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:94,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:94,1
    - Dst: raw::data
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:95,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:95,1
    - Dst: ipmi::message::details::PackBytes
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 99
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - raw::size
    - ipmi::message::details::PackBytesUnaligned
    - raw::resize
    - ipmi::message::details::PackBytes
    - raw::data
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const T& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::apply
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:108,1
    - Dst: pack
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' p'
    - ' v'
    argTypes:
    - Payload
    - std::tuple<T...>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 110
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - std::apply
    - pack
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const std::tuple<T...>& v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:123,1
    - Dst: std::numeric_limits<decltype(len)>::max
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:123,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:125,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:128,1
    - Dst: length
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:128,1
    - Dst: ipmi::transport::getEthProp
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:129,1
    - Dst: append
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:130,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:130,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:130,1
    - Dst: length
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 132
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - append
    - ipmi::transport::getEthProp
    - c_str
    - static_cast<uint8_t>
    - length
    - std::numeric_limits<decltype(len)>::max
    - lg2::error
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const std::string& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:146,1
    - Dst: std::min
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:149,1
    - Dst: static_cast<size_t>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:149,1
    - Dst: appendBits
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:150,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - fixed_uint_t<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 155
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - std::min
    - static_cast<uint64_t>
    - static_cast<uint8_t>
    - appendBits
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const fixed_uint_t<N>& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: appendBits
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' p'
    - ' b'
    argTypes:
    - Payload
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 166
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - appendBits
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const bool& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: to_ullong
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:177,1
    - Dst: std::min
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:180,1
    - Dst: appendBits
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:181,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::bitset<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 186
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - appendBits
    - to_ullong
    - std::min
    - static_cast<uint8_t>
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const std::bitset<N>& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::getEthProp
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::optional<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 201
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - ipmi::transport::getEthProp
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const std::optional<T>& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::getEthProp
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:213,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::array<T, N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 220
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - ipmi::transport::getEthProp
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const std::array<T, N>& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::getEthProp
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:232,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::vector<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 239
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - ipmi::transport::getEthProp
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const std::vector<T>& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: raw::reserve
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:252,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:252,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:252,1
    - Dst: raw::insert
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:253,1
    - Dst: raw::end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:253,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:253,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 255
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - raw::size
    - raw::insert
    - raw::reserve
    - size
    - raw::end
    - end
    - begin
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const std::vector<uint8_t>& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: raw::reserve
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:268,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:268,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:268,1
    - Dst: raw::insert
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:269,1
    - Dst: raw::end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:269,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:269,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - SecureBuffer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 271
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - raw::size
    - raw::insert
    - raw::reserve
    - size
    - raw::end
    - end
    - begin
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const SecureBuffer& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: raw::reserve
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:284,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:284,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:284,1
    - Dst: raw::insert
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:285,1
    - Dst: raw::end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:285,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:285,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::span<const uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 287
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - raw::size
    - raw::insert
    - raw::reserve
    - size
    - raw::end
    - end
    - begin
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const std::span<const uint8_t>& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: raw::reserve
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:300,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:300,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:300,1
    - Dst: raw::insert
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:301,1
    - Dst: raw::end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:301,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:301,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:301,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 303
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - raw::size
    - raw::insert
    - raw::reserve
    - size
    - raw::end
    - end
    - begin
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const std::string_view& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::visit
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:312,1
    - Dst: ipmi::transport::getEthProp
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' p'
    - ' v'
    argTypes:
    - Payload
    - std::variant<T...>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 317
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - std::visit
    - ipmi::transport::getEthProp
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const std::variant<T...>& v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: raw::reserve
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:330,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:330,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:330,1
    - Dst: raw::insert
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:331,1
    - Dst: raw::end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:331,1
    - Dst: raw::begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:331,1
    - Dst: raw::end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:331,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - Payload
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 333
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - raw::size
    - raw::insert
    - raw::reserve
    - raw::begin
    - raw::end
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const Payload& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:51,1
    - Dst: ipmi::message::details::PackBytes
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pointer
    - ' i'
    argTypes:
    - uint8_t*
    - NumericType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 54
    functionName: ipmi::message::details::PackBytes
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 9
    functionsReached:
    - static_cast<uint8_t>
    - ipmi::message::details::PackBytes
    linkageType: ''
    returnType: void
    signature: void PackBytes(uint8_t* pointer, const NumericType& i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: appendBits
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:61,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:61,1
    - Dst: ipmi::message::details::PackBytesUnaligned
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' p'
    - ' i'
    argTypes:
    - Payload
    - NumericType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: ipmi::message::details::PackBytesUnaligned
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 9
    functionsReached:
    - appendBits
    - static_cast<uint8_t>
    - ipmi::message::details::PackBytesUnaligned
    linkageType: ''
    returnType: void
    signature: void PackBytesUnaligned(Payload& p, const NumericType& i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::details::PackBytesUnaligned
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:89,1
    - Dst: raw::resize
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:94,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:94,1
    - Dst: raw::data
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:95,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:95,1
    - Dst: ipmi::message::details::PackBytes
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 99
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - raw::size
    - ipmi::message::details::PackBytesUnaligned
    - raw::resize
    - ipmi::message::details::PackBytes
    - raw::data
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const T& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::apply
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:108,1
    - Dst: pack
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' p'
    - ' v'
    argTypes:
    - Payload
    - std::tuple<T...>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 110
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - std::apply
    - pack
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const std::tuple<T...>& v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:123,1
    - Dst: std::numeric_limits<decltype(len)>::max
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:123,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:125,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:128,1
    - Dst: length
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:128,1
    - Dst: ipmi::transport::getEthProp
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:129,1
    - Dst: append
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:130,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:130,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:130,1
    - Dst: length
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 132
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - append
    - ipmi::transport::getEthProp
    - c_str
    - static_cast<uint8_t>
    - length
    - std::numeric_limits<decltype(len)>::max
    - lg2::error
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const std::string& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:146,1
    - Dst: std::min
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:149,1
    - Dst: static_cast<size_t>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:149,1
    - Dst: appendBits
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:150,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - fixed_uint_t<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 155
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - std::min
    - static_cast<uint64_t>
    - static_cast<uint8_t>
    - appendBits
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const fixed_uint_t<N>& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: appendBits
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' p'
    - ' b'
    argTypes:
    - Payload
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 166
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - appendBits
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const bool& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: to_ullong
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:177,1
    - Dst: std::min
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:180,1
    - Dst: appendBits
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:181,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::bitset<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 186
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - appendBits
    - to_ullong
    - std::min
    - static_cast<uint8_t>
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const std::bitset<N>& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::getEthProp
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::optional<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 201
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - ipmi::transport::getEthProp
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const std::optional<T>& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::getEthProp
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:213,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::array<T, N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 220
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - ipmi::transport::getEthProp
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const std::array<T, N>& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::getEthProp
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:232,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::vector<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 239
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - ipmi::transport::getEthProp
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const std::vector<T>& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: raw::reserve
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:252,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:252,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:252,1
    - Dst: raw::insert
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:253,1
    - Dst: raw::end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:253,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:253,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 255
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - raw::size
    - raw::insert
    - raw::reserve
    - size
    - raw::end
    - end
    - begin
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const std::vector<uint8_t>& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: raw::reserve
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:268,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:268,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:268,1
    - Dst: raw::insert
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:269,1
    - Dst: raw::end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:269,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:269,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - SecureBuffer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 271
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - raw::size
    - raw::insert
    - raw::reserve
    - size
    - raw::end
    - end
    - begin
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const SecureBuffer& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: raw::reserve
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:284,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:284,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:284,1
    - Dst: raw::insert
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:285,1
    - Dst: raw::end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:285,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:285,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::span<const uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 287
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - raw::size
    - raw::insert
    - raw::reserve
    - size
    - raw::end
    - end
    - begin
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const std::span<const uint8_t>& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: raw::reserve
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:300,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:300,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:300,1
    - Dst: raw::insert
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:301,1
    - Dst: raw::end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:301,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:301,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:301,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 303
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - raw::size
    - raw::insert
    - raw::reserve
    - size
    - raw::end
    - end
    - begin
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const std::string_view& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::visit
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:312,1
    - Dst: ipmi::transport::getEthProp
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' p'
    - ' v'
    argTypes:
    - Payload
    - std::variant<T...>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 317
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - std::visit
    - ipmi::transport::getEthProp
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const std::variant<T...>& v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: raw::reserve
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:330,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:330,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:330,1
    - Dst: raw::insert
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:331,1
    - Dst: raw::end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:331,1
    - Dst: raw::begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:331,1
    - Dst: raw::end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:331,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - Payload
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 333
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - raw::size
    - raw::insert
    - raw::reserve
    - raw::begin
    - raw::end
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const Payload& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:51,1
    - Dst: ipmi::message::details::PackBytes
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pointer
    - ' i'
    argTypes:
    - uint8_t*
    - NumericType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 54
    functionName: ipmi::message::details::PackBytes
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 11
    functionsReached:
    - static_cast<uint8_t>
    - ipmi::message::details::PackBytes
    linkageType: ''
    returnType: void
    signature: void PackBytes(uint8_t* pointer, const NumericType& i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: appendBits
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:61,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:61,1
    - Dst: ipmi::message::details::PackBytesUnaligned
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' p'
    - ' i'
    argTypes:
    - Payload
    - NumericType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: ipmi::message::details::PackBytesUnaligned
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 11
    functionsReached:
    - appendBits
    - static_cast<uint8_t>
    - ipmi::message::details::PackBytesUnaligned
    linkageType: ''
    returnType: void
    signature: void PackBytesUnaligned(Payload& p, const NumericType& i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::details::PackBytesUnaligned
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:89,1
    - Dst: raw::resize
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:94,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:94,1
    - Dst: raw::data
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:95,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:95,1
    - Dst: ipmi::message::details::PackBytes
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 99
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - raw::size
    - ipmi::message::details::PackBytesUnaligned
    - raw::resize
    - ipmi::message::details::PackBytes
    - raw::data
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const T& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::apply
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:108,1
    - Dst: pack
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' p'
    - ' v'
    argTypes:
    - Payload
    - std::tuple<T...>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 110
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - std::apply
    - pack
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const std::tuple<T...>& v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:123,1
    - Dst: std::numeric_limits<decltype(len)>::max
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:123,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:125,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:128,1
    - Dst: length
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:128,1
    - Dst: ipmi::transport::getEthProp
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:129,1
    - Dst: append
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:130,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:130,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:130,1
    - Dst: length
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 132
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - append
    - ipmi::transport::getEthProp
    - c_str
    - static_cast<uint8_t>
    - length
    - std::numeric_limits<decltype(len)>::max
    - lg2::error
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const std::string& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:146,1
    - Dst: std::min
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:149,1
    - Dst: static_cast<size_t>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:149,1
    - Dst: appendBits
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:150,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - fixed_uint_t<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 155
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - std::min
    - static_cast<uint64_t>
    - static_cast<uint8_t>
    - appendBits
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const fixed_uint_t<N>& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: appendBits
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' p'
    - ' b'
    argTypes:
    - Payload
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 166
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - appendBits
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const bool& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: to_ullong
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:177,1
    - Dst: std::min
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:180,1
    - Dst: appendBits
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:181,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::bitset<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 186
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - appendBits
    - to_ullong
    - std::min
    - static_cast<uint8_t>
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const std::bitset<N>& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::getEthProp
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::optional<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 201
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - ipmi::transport::getEthProp
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const std::optional<T>& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::getEthProp
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:213,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::array<T, N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 220
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - ipmi::transport::getEthProp
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const std::array<T, N>& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::getEthProp
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:232,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::vector<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 239
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - ipmi::transport::getEthProp
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const std::vector<T>& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: raw::reserve
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:252,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:252,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:252,1
    - Dst: raw::insert
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:253,1
    - Dst: raw::end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:253,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:253,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 255
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - raw::size
    - raw::insert
    - raw::reserve
    - size
    - raw::end
    - end
    - begin
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const std::vector<uint8_t>& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: raw::reserve
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:268,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:268,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:268,1
    - Dst: raw::insert
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:269,1
    - Dst: raw::end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:269,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:269,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - SecureBuffer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 271
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - raw::size
    - raw::insert
    - raw::reserve
    - size
    - raw::end
    - end
    - begin
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const SecureBuffer& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: raw::reserve
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:284,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:284,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:284,1
    - Dst: raw::insert
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:285,1
    - Dst: raw::end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:285,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:285,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::span<const uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 287
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - raw::size
    - raw::insert
    - raw::reserve
    - size
    - raw::end
    - end
    - begin
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const std::span<const uint8_t>& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: raw::reserve
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:300,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:300,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:300,1
    - Dst: raw::insert
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:301,1
    - Dst: raw::end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:301,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:301,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:301,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 303
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - raw::size
    - raw::insert
    - raw::reserve
    - size
    - raw::end
    - end
    - begin
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const std::string_view& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::visit
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:312,1
    - Dst: ipmi::transport::getEthProp
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' p'
    - ' v'
    argTypes:
    - Payload
    - std::variant<T...>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 317
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - std::visit
    - ipmi::transport::getEthProp
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const std::variant<T...>& v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: raw::reserve
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:330,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:330,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:330,1
    - Dst: raw::insert
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:331,1
    - Dst: raw::end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:331,1
    - Dst: raw::begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:331,1
    - Dst: raw::end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:331,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - Payload
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 333
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - raw::size
    - raw::insert
    - raw::reserve
    - raw::begin
    - raw::end
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const Payload& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:51,1
    - Dst: ipmi::message::details::PackBytes
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pointer
    - ' i'
    argTypes:
    - uint8_t*
    - NumericType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 54
    functionName: ipmi::message::details::PackBytes
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 13
    functionsReached:
    - static_cast<uint8_t>
    - ipmi::message::details::PackBytes
    linkageType: ''
    returnType: void
    signature: void PackBytes(uint8_t* pointer, const NumericType& i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: appendBits
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:61,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:61,1
    - Dst: ipmi::message::details::PackBytesUnaligned
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' p'
    - ' i'
    argTypes:
    - Payload
    - NumericType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: ipmi::message::details::PackBytesUnaligned
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 13
    functionsReached:
    - appendBits
    - static_cast<uint8_t>
    - ipmi::message::details::PackBytesUnaligned
    linkageType: ''
    returnType: void
    signature: void PackBytesUnaligned(Payload& p, const NumericType& i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::details::PackBytesUnaligned
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:89,1
    - Dst: raw::resize
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:94,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:94,1
    - Dst: raw::data
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:95,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:95,1
    - Dst: ipmi::message::details::PackBytes
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 99
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - raw::size
    - ipmi::message::details::PackBytesUnaligned
    - raw::resize
    - ipmi::message::details::PackBytes
    - raw::data
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const T& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::apply
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:108,1
    - Dst: pack
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' p'
    - ' v'
    argTypes:
    - Payload
    - std::tuple<T...>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 110
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - std::apply
    - pack
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const std::tuple<T...>& v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:123,1
    - Dst: std::numeric_limits<decltype(len)>::max
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:123,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:125,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:128,1
    - Dst: length
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:128,1
    - Dst: ipmi::transport::getEthProp
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:129,1
    - Dst: append
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:130,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:130,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:130,1
    - Dst: length
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 132
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - append
    - ipmi::transport::getEthProp
    - c_str
    - static_cast<uint8_t>
    - length
    - std::numeric_limits<decltype(len)>::max
    - lg2::error
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const std::string& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:146,1
    - Dst: std::min
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:149,1
    - Dst: static_cast<size_t>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:149,1
    - Dst: appendBits
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:150,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - fixed_uint_t<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 155
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - std::min
    - static_cast<uint64_t>
    - static_cast<uint8_t>
    - appendBits
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const fixed_uint_t<N>& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: appendBits
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' p'
    - ' b'
    argTypes:
    - Payload
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 166
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - appendBits
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const bool& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: to_ullong
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:177,1
    - Dst: std::min
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:180,1
    - Dst: appendBits
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:181,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::bitset<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 186
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - appendBits
    - to_ullong
    - std::min
    - static_cast<uint8_t>
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const std::bitset<N>& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::getEthProp
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::optional<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 201
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - ipmi::transport::getEthProp
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const std::optional<T>& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::getEthProp
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:213,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::array<T, N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 220
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - ipmi::transport::getEthProp
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const std::array<T, N>& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::getEthProp
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:232,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::vector<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 239
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - ipmi::transport::getEthProp
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const std::vector<T>& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: raw::reserve
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:252,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:252,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:252,1
    - Dst: raw::insert
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:253,1
    - Dst: raw::end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:253,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:253,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 255
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - raw::size
    - raw::insert
    - raw::reserve
    - size
    - raw::end
    - end
    - begin
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const std::vector<uint8_t>& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: raw::reserve
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:268,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:268,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:268,1
    - Dst: raw::insert
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:269,1
    - Dst: raw::end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:269,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:269,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - SecureBuffer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 271
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - raw::size
    - raw::insert
    - raw::reserve
    - size
    - raw::end
    - end
    - begin
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const SecureBuffer& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: raw::reserve
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:284,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:284,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:284,1
    - Dst: raw::insert
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:285,1
    - Dst: raw::end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:285,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:285,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::span<const uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 287
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - raw::size
    - raw::insert
    - raw::reserve
    - size
    - raw::end
    - end
    - begin
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const std::span<const uint8_t>& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: raw::reserve
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:300,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:300,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:300,1
    - Dst: raw::insert
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:301,1
    - Dst: raw::end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:301,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:301,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:301,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 303
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - raw::size
    - raw::insert
    - raw::reserve
    - size
    - raw::end
    - end
    - begin
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const std::string_view& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::visit
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:312,1
    - Dst: ipmi::transport::getEthProp
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' p'
    - ' v'
    argTypes:
    - Payload
    - std::variant<T...>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 317
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - std::visit
    - ipmi::transport::getEthProp
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const std::variant<T...>& v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: raw::reserve
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:330,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:330,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:330,1
    - Dst: raw::insert
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:331,1
    - Dst: raw::end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:331,1
    - Dst: raw::begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:331,1
    - Dst: raw::end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:331,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - Payload
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 333
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - raw::size
    - raw::insert
    - raw::reserve
    - raw::begin
    - raw::end
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const Payload& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:51,1
    - Dst: ipmi::message::details::PackBytes
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pointer
    - ' i'
    argTypes:
    - uint8_t*
    - NumericType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 54
    functionName: ipmi::message::details::PackBytes
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 15
    functionsReached:
    - static_cast<uint8_t>
    - ipmi::message::details::PackBytes
    linkageType: ''
    returnType: void
    signature: void PackBytes(uint8_t* pointer, const NumericType& i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: appendBits
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:61,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:61,1
    - Dst: ipmi::message::details::PackBytesUnaligned
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' p'
    - ' i'
    argTypes:
    - Payload
    - NumericType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: ipmi::message::details::PackBytesUnaligned
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 15
    functionsReached:
    - appendBits
    - static_cast<uint8_t>
    - ipmi::message::details::PackBytesUnaligned
    linkageType: ''
    returnType: void
    signature: void PackBytesUnaligned(Payload& p, const NumericType& i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::message::details::PackBytesUnaligned
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:89,1
    - Dst: raw::resize
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:94,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:94,1
    - Dst: raw::data
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:95,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:95,1
    - Dst: ipmi::message::details::PackBytes
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 99
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - raw::size
    - ipmi::message::details::PackBytesUnaligned
    - raw::resize
    - ipmi::message::details::PackBytes
    - raw::data
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const T& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::apply
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:108,1
    - Dst: pack
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' p'
    - ' v'
    argTypes:
    - Payload
    - std::tuple<T...>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 110
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - std::apply
    - pack
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const std::tuple<T...>& v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:123,1
    - Dst: std::numeric_limits<decltype(len)>::max
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:123,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:125,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:128,1
    - Dst: length
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:128,1
    - Dst: ipmi::transport::getEthProp
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:129,1
    - Dst: append
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:130,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:130,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:130,1
    - Dst: length
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 132
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - append
    - ipmi::transport::getEthProp
    - c_str
    - static_cast<uint8_t>
    - length
    - std::numeric_limits<decltype(len)>::max
    - lg2::error
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const std::string& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:146,1
    - Dst: std::min
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:149,1
    - Dst: static_cast<size_t>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:149,1
    - Dst: appendBits
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:150,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - fixed_uint_t<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 155
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - std::min
    - static_cast<uint64_t>
    - static_cast<uint8_t>
    - appendBits
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const fixed_uint_t<N>& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: appendBits
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' p'
    - ' b'
    argTypes:
    - Payload
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 166
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - appendBits
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const bool& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: to_ullong
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:177,1
    - Dst: std::min
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:180,1
    - Dst: appendBits
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:181,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::bitset<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 186
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - appendBits
    - to_ullong
    - std::min
    - static_cast<uint8_t>
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const std::bitset<N>& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::getEthProp
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::optional<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 201
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - ipmi::transport::getEthProp
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const std::optional<T>& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::getEthProp
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:213,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::array<T, N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 220
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - ipmi::transport::getEthProp
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const std::array<T, N>& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::transport::getEthProp
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:232,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::vector<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 239
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - ipmi::transport::getEthProp
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const std::vector<T>& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: raw::reserve
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:252,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:252,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:252,1
    - Dst: raw::insert
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:253,1
    - Dst: raw::end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:253,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:253,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 255
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - raw::size
    - raw::insert
    - raw::reserve
    - size
    - raw::end
    - end
    - begin
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const std::vector<uint8_t>& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: raw::reserve
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:268,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:268,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:268,1
    - Dst: raw::insert
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:269,1
    - Dst: raw::end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:269,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:269,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - SecureBuffer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 271
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - raw::size
    - raw::insert
    - raw::reserve
    - size
    - raw::end
    - end
    - begin
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const SecureBuffer& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: raw::reserve
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:284,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:284,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:284,1
    - Dst: raw::insert
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:285,1
    - Dst: raw::end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:285,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:285,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::span<const uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 287
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - raw::size
    - raw::insert
    - raw::reserve
    - size
    - raw::end
    - end
    - begin
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const std::span<const uint8_t>& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: raw::reserve
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:300,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:300,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:300,1
    - Dst: raw::insert
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:301,1
    - Dst: raw::end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:301,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:301,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:301,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 303
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - raw::size
    - raw::insert
    - raw::reserve
    - size
    - raw::end
    - end
    - begin
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const std::string_view& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::visit
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:312,1
    - Dst: ipmi::transport::getEthProp
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' p'
    - ' v'
    argTypes:
    - Payload
    - std::variant<T...>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 317
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - std::visit
    - ipmi::transport::getEthProp
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const std::variant<T...>& v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: raw::reserve
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:330,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:330,1
    - Dst: raw::size
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:330,1
    - Dst: raw::insert
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:331,1
    - Dst: raw::end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:331,1
    - Dst: raw::begin
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:331,1
    - Dst: raw::end
      Src: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp:331,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' p'
    - ' t'
    argTypes:
    - Payload
    - Payload
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 333
    functionName: ipmi::message::details::op
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    functionUses: 0
    functionsReached:
    - raw::size
    - raw::insert
    - raw::reserve
    - raw::begin
    - raw::end
    linkageType: ''
    returnType: int
    signature: int op(Payload& p, const Payload& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<details::underlying_t<T>>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/types.hpp:133,1
    - Dst: static_cast<details::underlying_t<R>>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/types.hpp:134,1
    - Dst: static_cast<R>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/types.hpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 136
    functionName: types::enum_cast
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/types.hpp
    functionUses: 0
    functionsReached:
    - static_cast<details::underlying_t<R>>
    - static_cast<R>
    - static_cast<details::underlying_t<T>>
    linkageType: ''
    returnType: R
    signature: R enum_cast(T t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<details::underlying_t<T>>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/types.hpp:133,1
    - Dst: static_cast<details::underlying_t<R>>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/types.hpp:134,1
    - Dst: static_cast<R>
      Src: /src/phosphor-host-ipmid/include/ipmid/message/types.hpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 136
    functionName: types::enum_cast
    functionSourceFile: /src/phosphor-host-ipmid/include/ipmid/message/types.hpp
    functionUses: 0
    functionsReached:
    - static_cast<details::underlying_t<R>>
    - static_cast<R>
    - static_cast<details::underlying_t<T>>
    linkageType: ''
    returnType: R
    signature: R enum_cast(T t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getUserAccessObject
      Src: /src/phosphor-host-ipmid/user_channel/user_layer.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: ipmi::ipmiUserInit
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_layer.cpp
    functionUses: 0
    functionsReached:
    - ipmi::getUserAccessObject
    linkageType: ''
    returnType: Cc
    signature: Cc ipmiUserInit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getPasswdByUserName
      Src: /src/phosphor-host-ipmid/user_channel/user_layer.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' userName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: ipmi::ipmiUserGetPassword
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_layer.cpp
    functionUses: 0
    functionsReached:
    - getPasswdByUserName
    linkageType: ''
    returnType: SecureString
    signature: SecureString ipmiUserGetPassword(const std::string& userName)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: updateUserEntry
      Src: /src/phosphor-host-ipmid/user_channel/user_layer.cpp:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' userName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: ipmi::ipmiClearUserEntryPassword
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_layer.cpp
    functionUses: 0
    functionsReached:
    - updateUserEntry
    linkageType: ''
    returnType: Cc
    signature: Cc ipmiClearUserEntryPassword(const std::string& userName)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: updateUserEntry
      Src: /src/phosphor-host-ipmid/user_channel/user_layer.cpp:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' userName'
    - ' newUserName'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 58
    functionName: ipmi::ipmiRenameUserEntryPassword
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_layer.cpp
    functionUses: 0
    functionsReached:
    - updateUserEntry
    linkageType: ''
    returnType: Cc
    signature: "Cc ipmiRenameUserEntryPassword(const std::string& userName,\n                               const
      std::string& newUserName)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::UserAccess::isValidUserId
      Src: /src/phosphor-host-ipmid/user_channel/user_layer.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - userId
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: ipmi::ipmiUserIsValidUserId
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_layer.cpp
    functionUses: 0
    functionsReached:
    - ipmi::UserAccess::isValidUserId
    linkageType: ''
    returnType: bool
    signature: bool ipmiUserIsValidUserId(const uint8_t userId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::UserAccess::isValidPrivilege
      Src: /src/phosphor-host-ipmid/user_channel/user_layer.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - priv
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: ipmi::ipmiUserIsValidPrivilege
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_layer.cpp
    functionUses: 0
    functionsReached:
    - ipmi::UserAccess::isValidPrivilege
    linkageType: ''
    returnType: bool
    signature: bool ipmiUserIsValidPrivilege(const uint8_t priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getUserAccessObject
      Src: /src/phosphor-host-ipmid/user_channel/user_layer.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' userName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: ipmi::ipmiUserGetUserId
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_layer.cpp
    functionUses: 0
    functionsReached:
    - ipmi::getUserAccessObject
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t ipmiUserGetUserId(const std::string& userName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strnlen
      Src: /src/phosphor-host-ipmid/user_channel/user_layer.cpp:77,1
    - Dst: ipmi::getUserAccessObject
      Src: /src/phosphor-host-ipmid/user_channel/user_layer.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - userId
    - userName
    argTypes:
    - uint8_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 80
    functionName: ipmi::ipmiUserSetUserName
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_layer.cpp
    functionUses: 0
    functionsReached:
    - ipmi::getUserAccessObject
    - strnlen
    linkageType: ''
    returnType: Cc
    signature: Cc ipmiUserSetUserName(const uint8_t userId, const char* userName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/phosphor-host-ipmid/user_channel/user_layer.cpp:85,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/user_channel/user_layer.cpp:85,1
    - Dst: static_cast<size_t>
      Src: /src/phosphor-host-ipmid/user_channel/user_layer.cpp:85,1
    - Dst: ipmi::getUserAccessObject
      Src: /src/phosphor-host-ipmid/user_channel/user_layer.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - userId
    - ' userName'
    argTypes:
    - uint8_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: ipmi::ipmiUserSetUserName
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_layer.cpp
    functionUses: 0
    functionsReached:
    - ipmi::getUserAccessObject
    - std::min
    - size
    - static_cast<size_t>
    linkageType: ''
    returnType: Cc
    signature: Cc ipmiUserSetUserName(const uint8_t userId, const std::string& userName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getUserAccessObject
      Src: /src/phosphor-host-ipmid/user_channel/user_layer.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - userId
    - ' userName'
    argTypes:
    - uint8_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: ipmi::ipmiUserGetUserName
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_layer.cpp
    functionUses: 0
    functionsReached:
    - ipmi::getUserAccessObject
    linkageType: ''
    returnType: Cc
    signature: Cc ipmiUserGetUserName(const uint8_t userId, std::string& userName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getUserAccessObject
      Src: /src/phosphor-host-ipmid/user_channel/user_layer.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - userId
    - userPassword
    argTypes:
    - uint8_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: ipmi::ipmiUserSetUserPassword
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_layer.cpp
    functionUses: 0
    functionsReached:
    - ipmi::getUserAccessObject
    linkageType: ''
    returnType: Cc
    signature: Cc ipmiUserSetUserPassword(const uint8_t userId, const char* userPassword)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getUserAccessObject
      Src: /src/phosphor-host-ipmid/user_channel/user_layer.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' userName'
    - ' userPassword'
    argTypes:
    - std::string
    - SecureString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: ipmi::ipmiSetSpecialUserPassword
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_layer.cpp
    functionUses: 0
    functionsReached:
    - ipmi::getUserAccessObject
    linkageType: ''
    returnType: Cc
    signature: "Cc ipmiSetSpecialUserPassword(const std::string& userName,\n                              const
      SecureString& userPassword)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getUserAccessObject
      Src: /src/phosphor-host-ipmid/user_channel/user_layer.cpp:110,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - ' maxChUsers'
    - ' enabledUsers'
    - ' fixedUsers'
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 126
    functionName: ipmi::ipmiUserGetAllCounts
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_layer.cpp
    functionUses: 0
    functionsReached:
    - ipmi::getUserAccessObject
    linkageType: ''
    returnType: Cc
    signature: "Cc ipmiUserGetAllCounts(uint8_t& maxChUsers, uint8_t& enabledUsers,\n
      \                       uint8_t& fixedUsers)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getUserAccessObject
      Src: /src/phosphor-host-ipmid/user_channel/user_layer.cpp:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - userId
    - ' state'
    argTypes:
    - uint8_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 131
    functionName: ipmi::ipmiUserUpdateEnabledState
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_layer.cpp
    functionUses: 0
    functionsReached:
    - ipmi::getUserAccessObject
    linkageType: ''
    returnType: Cc
    signature: Cc ipmiUserUpdateEnabledState(const uint8_t userId, const bool& state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::UserAccess::isValidUserId
      Src: /src/phosphor-host-ipmid/user_channel/user_layer.cpp:135,1
    - Dst: ipmi::getUserAccessObject
      Src: /src/phosphor-host-ipmid/user_channel/user_layer.cpp:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - userId
    - ' state'
    argTypes:
    - uint8_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 142
    functionName: ipmi::ipmiUserCheckEnabled
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_layer.cpp
    functionUses: 0
    functionsReached:
    - ipmi::getUserAccessObject
    - ipmi::UserAccess::isValidUserId
    linkageType: ''
    returnType: Cc
    signature: Cc ipmiUserCheckEnabled(const uint8_t userId, bool& state)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::UserAccess::isValidChannel
      Src: /src/phosphor-host-ipmid/user_channel/user_layer.cpp:147,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/user_layer.cpp:149,1
    - Dst: ipmi::UserAccess::isValidUserId
      Src: /src/phosphor-host-ipmid/user_channel/user_layer.cpp:153,1
    - Dst: ipmi::getUserAccessObject
      Src: /src/phosphor-host-ipmid/user_channel/user_layer.cpp:157,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - userId
    - chNum
    - ' privAccess'
    argTypes:
    - uint8_t
    - uint8_t
    - PrivAccess
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 164
    functionName: ipmi::ipmiUserGetPrivilegeAccess
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_layer.cpp
    functionUses: 0
    functionsReached:
    - ipmi::UserAccess::isValidUserId
    - lg2::error
    - ipmi::getUserAccessObject
    - ipmi::UserAccess::isValidChannel
    linkageType: ''
    returnType: Cc
    signature: "Cc ipmiUserGetPrivilegeAccess(const uint8_t userId, const uint8_t
      chNum,\n                              PrivAccess& privAccess)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getUserAccessObject
      Src: /src/phosphor-host-ipmid/user_channel/user_layer.cpp:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - userId
    - chNum
    - ' privAccess'
    - ' otherPrivUpdates'
    argTypes:
    - uint8_t
    - uint8_t
    - PrivAccess
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 180
    functionName: ipmi::ipmiUserSetPrivilegeAccess
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_layer.cpp
    functionUses: 0
    functionsReached:
    - ipmi::getUserAccessObject
    linkageType: ''
    returnType: Cc
    signature: "Cc ipmiUserSetPrivilegeAccess(const uint8_t userId, const uint8_t
      chNum,\n                              const PrivAccess& privAccess,\n                              const
      bool& otherPrivUpdates)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::pamUserCheckAuthenticate
      Src: /src/phosphor-host-ipmid/user_channel/user_layer.cpp:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - userName
    - userPassword
    argTypes:
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 186
    functionName: ipmi::ipmiUserPamAuthenticate
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_layer.cpp
    functionUses: 0
    functionsReached:
    - ipmi::pamUserCheckAuthenticate
    linkageType: ''
    returnType: bool
    signature: "bool ipmiUserPamAuthenticate(std::string_view userName,\n                             std::string_view
      userPassword)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::UserAccess::isValidChannel
      Src: /src/phosphor-host-ipmid/user_channel/user_layer.cpp:192,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/user_layer.cpp:194,1
    - Dst: ipmi::UserAccess::isValidUserId
      Src: /src/phosphor-host-ipmid/user_channel/user_layer.cpp:199,1
    - Dst: ipmi::getUserAccessObject
      Src: /src/phosphor-host-ipmid/user_channel/user_layer.cpp:204,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - chNum
    - operation
    - userId
    - ' payloadAccess'
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t
    - PayloadAccess
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 206
    functionName: ipmi::ipmiUserSetUserPayloadAccess
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_layer.cpp
    functionUses: 0
    functionsReached:
    - ipmi::UserAccess::isValidUserId
    - lg2::error
    - ipmi::getUserAccessObject
    - ipmi::UserAccess::isValidChannel
    linkageType: ''
    returnType: Cc
    signature: "Cc ipmiUserSetUserPayloadAccess(const uint8_t chNum, const uint8_t
      operation,\n                                const uint8_t userId,\n                                const
      PayloadAccess& payloadAccess)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::UserAccess::isValidChannel
      Src: /src/phosphor-host-ipmid/user_channel/user_layer.cpp:211,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/user_layer.cpp:213,1
    - Dst: ipmi::UserAccess::isValidUserId
      Src: /src/phosphor-host-ipmid/user_channel/user_layer.cpp:218,1
    - Dst: ipmi::getUserAccessObject
      Src: /src/phosphor-host-ipmid/user_channel/user_layer.cpp:223,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - chNum
    - userId
    - ' payloadAccess'
    argTypes:
    - uint8_t
    - uint8_t
    - PayloadAccess
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 235
    functionName: ipmi::ipmiUserGetUserPayloadAccess
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_layer.cpp
    functionUses: 0
    functionsReached:
    - ipmi::UserAccess::isValidUserId
    - lg2::error
    - ipmi::getUserAccessObject
    - ipmi::UserAccess::isValidChannel
    linkageType: ''
    returnType: Cc
    signature: "Cc ipmiUserGetUserPayloadAccess(const uint8_t chNum, const uint8_t
      userId,\n                                PayloadAccess& payloadAccess)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getUserAccessObject
      Src: /src/phosphor-host-ipmid/user_channel/user_layer.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: ipmi::ipmiUserInit
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_layer.cpp
    functionUses: 0
    functionsReached:
    - ipmi::getUserAccessObject
    linkageType: ''
    returnType: Cc
    signature: Cc ipmiUserInit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getPasswdByUserName
      Src: /src/phosphor-host-ipmid/user_channel/user_layer.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' userName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: ipmi::ipmiUserGetPassword
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_layer.cpp
    functionUses: 0
    functionsReached:
    - getPasswdByUserName
    linkageType: ''
    returnType: SecureString
    signature: SecureString ipmiUserGetPassword(const std::string& userName)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: updateUserEntry
      Src: /src/phosphor-host-ipmid/user_channel/user_layer.cpp:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' userName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: ipmi::ipmiClearUserEntryPassword
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_layer.cpp
    functionUses: 0
    functionsReached:
    - updateUserEntry
    linkageType: ''
    returnType: Cc
    signature: Cc ipmiClearUserEntryPassword(const std::string& userName)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: updateUserEntry
      Src: /src/phosphor-host-ipmid/user_channel/user_layer.cpp:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' userName'
    - ' newUserName'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 58
    functionName: ipmi::ipmiRenameUserEntryPassword
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_layer.cpp
    functionUses: 0
    functionsReached:
    - updateUserEntry
    linkageType: ''
    returnType: Cc
    signature: "Cc ipmiRenameUserEntryPassword(const std::string& userName,\n                               const
      std::string& newUserName)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::UserAccess::isValidUserId
      Src: /src/phosphor-host-ipmid/user_channel/user_layer.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - userId
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: ipmi::ipmiUserIsValidUserId
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_layer.cpp
    functionUses: 0
    functionsReached:
    - ipmi::UserAccess::isValidUserId
    linkageType: ''
    returnType: bool
    signature: bool ipmiUserIsValidUserId(const uint8_t userId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::UserAccess::isValidPrivilege
      Src: /src/phosphor-host-ipmid/user_channel/user_layer.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - priv
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: ipmi::ipmiUserIsValidPrivilege
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_layer.cpp
    functionUses: 0
    functionsReached:
    - ipmi::UserAccess::isValidPrivilege
    linkageType: ''
    returnType: bool
    signature: bool ipmiUserIsValidPrivilege(const uint8_t priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getUserAccessObject
      Src: /src/phosphor-host-ipmid/user_channel/user_layer.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' userName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: ipmi::ipmiUserGetUserId
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_layer.cpp
    functionUses: 0
    functionsReached:
    - ipmi::getUserAccessObject
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t ipmiUserGetUserId(const std::string& userName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strnlen
      Src: /src/phosphor-host-ipmid/user_channel/user_layer.cpp:77,1
    - Dst: ipmi::getUserAccessObject
      Src: /src/phosphor-host-ipmid/user_channel/user_layer.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - userId
    - userName
    argTypes:
    - uint8_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 80
    functionName: ipmi::ipmiUserSetUserName
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_layer.cpp
    functionUses: 0
    functionsReached:
    - ipmi::getUserAccessObject
    - strnlen
    linkageType: ''
    returnType: Cc
    signature: Cc ipmiUserSetUserName(const uint8_t userId, const char* userName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/phosphor-host-ipmid/user_channel/user_layer.cpp:85,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/user_channel/user_layer.cpp:85,1
    - Dst: static_cast<size_t>
      Src: /src/phosphor-host-ipmid/user_channel/user_layer.cpp:85,1
    - Dst: ipmi::getUserAccessObject
      Src: /src/phosphor-host-ipmid/user_channel/user_layer.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - userId
    - ' userName'
    argTypes:
    - uint8_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: ipmi::ipmiUserSetUserName
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_layer.cpp
    functionUses: 0
    functionsReached:
    - ipmi::getUserAccessObject
    - std::min
    - size
    - static_cast<size_t>
    linkageType: ''
    returnType: Cc
    signature: Cc ipmiUserSetUserName(const uint8_t userId, const std::string& userName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getUserAccessObject
      Src: /src/phosphor-host-ipmid/user_channel/user_layer.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - userId
    - ' userName'
    argTypes:
    - uint8_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: ipmi::ipmiUserGetUserName
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_layer.cpp
    functionUses: 0
    functionsReached:
    - ipmi::getUserAccessObject
    linkageType: ''
    returnType: Cc
    signature: Cc ipmiUserGetUserName(const uint8_t userId, std::string& userName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getUserAccessObject
      Src: /src/phosphor-host-ipmid/user_channel/user_layer.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - userId
    - userPassword
    argTypes:
    - uint8_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: ipmi::ipmiUserSetUserPassword
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_layer.cpp
    functionUses: 0
    functionsReached:
    - ipmi::getUserAccessObject
    linkageType: ''
    returnType: Cc
    signature: Cc ipmiUserSetUserPassword(const uint8_t userId, const char* userPassword)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getUserAccessObject
      Src: /src/phosphor-host-ipmid/user_channel/user_layer.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' userName'
    - ' userPassword'
    argTypes:
    - std::string
    - SecureString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: ipmi::ipmiSetSpecialUserPassword
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_layer.cpp
    functionUses: 0
    functionsReached:
    - ipmi::getUserAccessObject
    linkageType: ''
    returnType: Cc
    signature: "Cc ipmiSetSpecialUserPassword(const std::string& userName,\n                              const
      SecureString& userPassword)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getUserAccessObject
      Src: /src/phosphor-host-ipmid/user_channel/user_layer.cpp:110,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - ' maxChUsers'
    - ' enabledUsers'
    - ' fixedUsers'
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 126
    functionName: ipmi::ipmiUserGetAllCounts
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_layer.cpp
    functionUses: 0
    functionsReached:
    - ipmi::getUserAccessObject
    linkageType: ''
    returnType: Cc
    signature: "Cc ipmiUserGetAllCounts(uint8_t& maxChUsers, uint8_t& enabledUsers,\n
      \                       uint8_t& fixedUsers)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getUserAccessObject
      Src: /src/phosphor-host-ipmid/user_channel/user_layer.cpp:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - userId
    - ' state'
    argTypes:
    - uint8_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 131
    functionName: ipmi::ipmiUserUpdateEnabledState
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_layer.cpp
    functionUses: 0
    functionsReached:
    - ipmi::getUserAccessObject
    linkageType: ''
    returnType: Cc
    signature: Cc ipmiUserUpdateEnabledState(const uint8_t userId, const bool& state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::UserAccess::isValidUserId
      Src: /src/phosphor-host-ipmid/user_channel/user_layer.cpp:135,1
    - Dst: ipmi::getUserAccessObject
      Src: /src/phosphor-host-ipmid/user_channel/user_layer.cpp:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - userId
    - ' state'
    argTypes:
    - uint8_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 142
    functionName: ipmi::ipmiUserCheckEnabled
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_layer.cpp
    functionUses: 0
    functionsReached:
    - ipmi::getUserAccessObject
    - ipmi::UserAccess::isValidUserId
    linkageType: ''
    returnType: Cc
    signature: Cc ipmiUserCheckEnabled(const uint8_t userId, bool& state)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::UserAccess::isValidChannel
      Src: /src/phosphor-host-ipmid/user_channel/user_layer.cpp:147,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/user_layer.cpp:149,1
    - Dst: ipmi::UserAccess::isValidUserId
      Src: /src/phosphor-host-ipmid/user_channel/user_layer.cpp:153,1
    - Dst: ipmi::getUserAccessObject
      Src: /src/phosphor-host-ipmid/user_channel/user_layer.cpp:157,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - userId
    - chNum
    - ' privAccess'
    argTypes:
    - uint8_t
    - uint8_t
    - PrivAccess
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 164
    functionName: ipmi::ipmiUserGetPrivilegeAccess
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_layer.cpp
    functionUses: 0
    functionsReached:
    - ipmi::UserAccess::isValidUserId
    - lg2::error
    - ipmi::getUserAccessObject
    - ipmi::UserAccess::isValidChannel
    linkageType: ''
    returnType: Cc
    signature: "Cc ipmiUserGetPrivilegeAccess(const uint8_t userId, const uint8_t
      chNum,\n                              PrivAccess& privAccess)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getUserAccessObject
      Src: /src/phosphor-host-ipmid/user_channel/user_layer.cpp:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - userId
    - chNum
    - ' privAccess'
    - ' otherPrivUpdates'
    argTypes:
    - uint8_t
    - uint8_t
    - PrivAccess
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 180
    functionName: ipmi::ipmiUserSetPrivilegeAccess
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_layer.cpp
    functionUses: 0
    functionsReached:
    - ipmi::getUserAccessObject
    linkageType: ''
    returnType: Cc
    signature: "Cc ipmiUserSetPrivilegeAccess(const uint8_t userId, const uint8_t
      chNum,\n                              const PrivAccess& privAccess,\n                              const
      bool& otherPrivUpdates)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::pamUserCheckAuthenticate
      Src: /src/phosphor-host-ipmid/user_channel/user_layer.cpp:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - userName
    - userPassword
    argTypes:
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 186
    functionName: ipmi::ipmiUserPamAuthenticate
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_layer.cpp
    functionUses: 0
    functionsReached:
    - ipmi::pamUserCheckAuthenticate
    linkageType: ''
    returnType: bool
    signature: "bool ipmiUserPamAuthenticate(std::string_view userName,\n                             std::string_view
      userPassword)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::UserAccess::isValidChannel
      Src: /src/phosphor-host-ipmid/user_channel/user_layer.cpp:192,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/user_layer.cpp:194,1
    - Dst: ipmi::UserAccess::isValidUserId
      Src: /src/phosphor-host-ipmid/user_channel/user_layer.cpp:199,1
    - Dst: ipmi::getUserAccessObject
      Src: /src/phosphor-host-ipmid/user_channel/user_layer.cpp:204,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - chNum
    - operation
    - userId
    - ' payloadAccess'
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t
    - PayloadAccess
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 206
    functionName: ipmi::ipmiUserSetUserPayloadAccess
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_layer.cpp
    functionUses: 0
    functionsReached:
    - ipmi::UserAccess::isValidUserId
    - lg2::error
    - ipmi::getUserAccessObject
    - ipmi::UserAccess::isValidChannel
    linkageType: ''
    returnType: Cc
    signature: "Cc ipmiUserSetUserPayloadAccess(const uint8_t chNum, const uint8_t
      operation,\n                                const uint8_t userId,\n                                const
      PayloadAccess& payloadAccess)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::UserAccess::isValidChannel
      Src: /src/phosphor-host-ipmid/user_channel/user_layer.cpp:211,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/user_layer.cpp:213,1
    - Dst: ipmi::UserAccess::isValidUserId
      Src: /src/phosphor-host-ipmid/user_channel/user_layer.cpp:218,1
    - Dst: ipmi::getUserAccessObject
      Src: /src/phosphor-host-ipmid/user_channel/user_layer.cpp:223,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - chNum
    - userId
    - ' payloadAccess'
    argTypes:
    - uint8_t
    - uint8_t
    - PayloadAccess
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 235
    functionName: ipmi::ipmiUserGetUserPayloadAccess
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_layer.cpp
    functionUses: 0
    functionsReached:
    - ipmi::UserAccess::isValidUserId
    - lg2::error
    - ipmi::getUserAccessObject
    - ipmi::UserAccess::isValidChannel
    linkageType: ''
    returnType: Cc
    signature: "Cc ipmiUserGetUserPayloadAccess(const uint8_t chNum, const uint8_t
      userId,\n                                PayloadAccess& payloadAccess)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/user_channel/channel_layer.hpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: ipmi::responseActionNotSupportedForChannel
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_layer.hpp
    functionUses: 0
    functionsReached:
    - ipmi::response
    linkageType: ''
    returnType: auto
    signature: auto responseActionNotSupportedForChannel()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/user_channel/channel_layer.hpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: ipmi::responseAccessModeNotSupportedForChannel
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_layer.hpp
    functionUses: 0
    functionsReached:
    - ipmi::response
    linkageType: ''
    returnType: auto
    signature: auto responseAccessModeNotSupportedForChannel()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - chNum
    - devChannel
    argTypes:
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 306
    functionName: ipmi::convertCurrentChannelNum
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_layer.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t convertCurrentChannelNum(const uint8_t chNum,\n                                               const
      uint8_t devChannel)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/user_channel/channel_layer.hpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: ipmi::responseActionNotSupportedForChannel
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_layer.hpp
    functionUses: 0
    functionsReached:
    - ipmi::response
    linkageType: ''
    returnType: auto
    signature: auto responseActionNotSupportedForChannel()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/user_channel/channel_layer.hpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: ipmi::responseAccessModeNotSupportedForChannel
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_layer.hpp
    functionUses: 0
    functionsReached:
    - ipmi::response
    linkageType: ''
    returnType: auto
    signature: auto responseAccessModeNotSupportedForChannel()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - chNum
    - devChannel
    argTypes:
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 306
    functionName: ipmi::convertCurrentChannelNum
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_layer.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t convertCurrentChannelNum(const uint8_t chNum,\n                                               const
      uint8_t devChannel)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::ChannelConfig::isValidChannel
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:151,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - chNum
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 159
    functionName: ipmi::ChannelConfig::getChannelName
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp
    functionUses: 0
    functionsReached:
    - ipmi::ChannelConfig::isValidChannel
    - lg2::error
    linkageType: ''
    returnType: std::string
    signature: std::string ChannelConfig::getChannelName(const uint8_t chNum)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:171,1
    - Dst: std::invalid_argument
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:172,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' chName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 175
    functionName: ipmi::ChannelConfig::convertToChannelNumberFromChannelName
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp
    functionUses: 0
    functionsReached:
    - lg2::error
    - std::invalid_argument
    linkageType: ''
    returnType: int
    signature: "int ChannelConfig::convertToChannelNumberFromChannelName(\n    const
      std::string& chName)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:179,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:180,1
    - Dst: compare
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:181,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:183,1
    - Dst: std::invalid_argument
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:184,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 188
    functionName: ipmi::ChannelConfig::getChannelNameFromPath
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp
    functionUses: 0
    functionsReached:
    - compare
    - size
    - std::invalid_argument
    - strlen
    - lg2::error
    linkageType: ''
    returnType: std::string
    signature: std::string ChannelConfig::getChannelNameFromPath(const std::string&
      path)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::ChannelConfig::getChannelNameFromPath
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:197,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:201,1
    - Dst: what
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:201,1
    - Dst: std::get<std::string>
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:213,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:220,1
    - Dst: std::string::empty
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:224,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:226,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:234,1
    - Dst: ipmi::ChannelConfig::convertToPrivLimitIndex
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:234,1
    - Dst: ipmi::ChannelConfig::convertToChannelNumberFromChannelName
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:235,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:239,1
    - Dst: what
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:239,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:249,1
    - Dst: ipmi::ChannelConfig::checkAndReloadVolatileData
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:256,1
    - Dst: ipmi::ChannelConfig::checkAndReloadNVData
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:257,1
    - Dst: ipmi::ChannelConfig::writeChannelPersistData
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:262,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:264,1
    - Dst: ipmi::ChannelConfig::writeChannelVolatileData
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:272,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:274,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 50
    argCount: 2
    argNames:
    - ' path'
    - ' chProperties'
    argTypes:
    - std::string
    - DbusChObjProperties
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 281
    functionName: ipmi::ChannelConfig::processChAccessPropChange
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp
    functionUses: 0
    functionsReached:
    - ipmi::ChannelConfig::getChannelNameFromPath
    - ipmi::ChannelConfig::convertToChannelNumberFromChannelName
    - ipmi::ChannelConfig::checkAndReloadVolatileData
    - ipmi::ChannelConfig::writeChannelVolatileData
    - ipmi::ChannelConfig::checkAndReloadNVData
    - lg2::debug
    - static_cast<uint8_t>
    - ipmi::ChannelConfig::convertToPrivLimitIndex
    - ipmi::ChannelConfig::writeChannelPersistData
    - std::string::empty
    - what
    - lg2::error
    - std::get<std::string>
    linkageType: ''
    returnType: void
    signature: "void ChannelConfig::processChAccessPropChange(\n    const std::string&
      path, const DbusChObjProperties& chProperties)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 287
    functionName: ipmi::getChannelConfigObject
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ChannelConfig
    signature: ChannelConfig & getChannelConfigObject()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:293,1
    - Dst: reset
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:294,1
    - Dst: reset
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:295,1
    - Dst: unlock
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:296,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 298
    functionName: ChannelConfig::~ChannelConfig()
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp
    functionUses: 0
    functionsReached:
    - unlock
    - reset
    linkageType: ''
    returnType: void
    signature: void ChannelConfig::~ChannelConfig()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ipmid_get_sd_bus_connection
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:300,1
    - Dst: std::ofstream::open
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:303,1
    - Dst: std::ofstream::good
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:305,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:307,1
    - Dst: std::ofstream::close
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:310,1
    - Dst: boost::interprocess::file_lock
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:312,1
    - Dst: try_lock
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:313,1
    - Dst: boost::interprocess::named_recursive_mutex::remove
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:315,1
    - Dst: std::make_unique<boost::interprocess::named_recursive_mutex>
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:317,1
    - Dst: lock_sharable
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:319,1
    - Dst: lock_sharable
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:323,1
    - Dst: std::make_unique<boost::interprocess::named_recursive_mutex>
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:325,1
    - Dst: ipmi::ChannelConfig::initChannelPersistData
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:329,1
    - Dst: boost::interprocess::file_lock
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:331,1
    - Dst: try_lock
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:334,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:336,1
    - Dst: std::make_unique<sdbusplus::bus::match_t>
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:337,1
    - Dst: sdbusplus::bus::match::rules::path_namespace
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:339,1
    - Dst: sdbusplus::bus::match::rules::type::signal
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:341,1
    - Dst: sdbusplus::bus::match::rules::member
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:342,1
    - Dst: get_type_from_interface
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:343,1
    - Dst: sdbusplus::bus::match::rules::argN
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:345,1
    - Dst: get_path
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:349,1
    - Dst: read
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:350,1
    - Dst: ipmi::ChannelConfig::processChAccessPropChange
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:351,1
    - Dst: std::make_unique<sdbusplus::bus::match_t>
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:355,1
    - Dst: sdbusplus::bus::match::rules::type::signal
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:357,1
    - Dst: sdbusplus::bus::match::rules::member
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:358,1
    - Dst: sdbusplus::bus::match::rules::argNpath
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:359,1
    - Dst: std::string
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:360,1
    - Dst: ipmi::ChannelConfig::initChannelPersistData
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:361,1
    - Dst: std::make_unique<sdbusplus::bus::match_t>
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:363,1
    - Dst: sdbusplus::bus::match::rules::type::signal
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:365,1
    - Dst: sdbusplus::bus::match::rules::member
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:366,1
    - Dst: sdbusplus::bus::match::rules::argNpath
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:367,1
    - Dst: std::string
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:368,1
    - Dst: ipmi::ChannelConfig::initChannelPersistData
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:369,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 300
    functionDepth: 2
    functionLinenumber: 300
    functionLinenumberEnd: 371
    functionName: ipmi::ChannelConfig::ChannelConfig
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp
    functionUses: 0
    functionsReached:
    - std::ofstream::open
    - ipmi::ChannelConfig::processChAccessPropChange
    - ipmid_get_sd_bus_connection
    - sdbusplus::bus::match::rules::argN
    - boost::interprocess::named_recursive_mutex::remove
    - get_type_from_interface
    - lock_sharable
    - std::ofstream::close
    - read
    - sdbusplus::bus::match::rules::path_namespace
    - std::string
    - std::ofstream::good
    - ipmi::ChannelConfig::initChannelPersistData
    - get_path
    - sdbusplus::bus::match::rules::argNpath
    - lg2::debug
    - std::make_unique<sdbusplus::bus::match_t>
    - boost::interprocess::file_lock
    - sdbusplus::bus::match::rules::type::signal
    - try_lock
    - std::make_unique<boost::interprocess::named_recursive_mutex>
    - sdbusplus::bus::match::rules::member
    linkageType: ''
    returnType: void
    signature: void ChannelConfig::ChannelConfig()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:377,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - chNum
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 382
    functionName: ipmi::ChannelConfig::isValidChannel
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp
    functionUses: 1
    functionsReached:
    - lg2::debug
    linkageType: ''
    returnType: bool
    signature: bool ChannelConfig::isValidChannel(const uint8_t chNum)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - chNum
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 390
    functionName: ipmi::ChannelConfig::getChannelSessionSupport
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EChannelSessSupported
    signature: "EChannelSessSupported ChannelConfig::getChannelSessionSupport(\n    const
      uint8_t chNum)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:397,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:402,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:404,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - chNum
    - ' authType'
    argTypes:
    - uint8_t
    - EAuthType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 409
    functionName: ipmi::ChannelConfig::isValidAuthType
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - lg2::debug
    linkageType: ''
    returnType: bool
    signature: "bool ChannelConfig::isValidAuthType(const uint8_t chNum,\n                                    const
      EAuthType& authType)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - chNum
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 419
    functionName: ipmi::ChannelConfig::getChannelActiveSessions
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ChannelConfig::getChannelActiveSessions(const uint8_t chNum)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - chNum
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 424
    functionName: ipmi::ChannelConfig::getChannelMaxTransferSize
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ChannelConfig::getChannelMaxTransferSize(uint8_t chNum)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::ChannelConfig::isValidChannel
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:428,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:430,1
    - Dst: std::copy_n
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:435,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:435,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:437,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - chNum
    - ' chInfo'
    argTypes:
    - uint8_t
    - ChannelInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 426
    functionDepth: 1
    functionLinenumber: 426
    functionLinenumberEnd: 439
    functionName: ipmi::ChannelConfig::getChannelInfo
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp
    functionUses: 0
    functionsReached:
    - ipmi::ChannelConfig::isValidChannel
    - std::copy_n
    - reinterpret_cast<uint8_t*>
    - lg2::debug
    linkageType: ''
    returnType: Cc
    signature: Cc ChannelConfig::getChannelInfo(const uint8_t chNum, ChannelInfo&
      chInfo)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::ChannelConfig::isValidChannel
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:444,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:446,1
    - Dst: ipmi::ChannelConfig::getChannelSessionSupport
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:451,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:453,1
    - Dst: ipmi::ChannelConfig::checkAndReloadVolatileData
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:457,1
    - Dst: std::copy_n
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:462,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:463,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:465,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - chNum
    - ' chAccessData'
    argTypes:
    - uint8_t
    - ChannelAccess
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 441
    functionDepth: 1
    functionLinenumber: 441
    functionLinenumberEnd: 468
    functionName: ipmi::ChannelConfig::getChannelAccessData
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp
    functionUses: 0
    functionsReached:
    - ipmi::ChannelConfig::getChannelSessionSupport
    - std::copy_n
    - ipmi::ChannelConfig::checkAndReloadVolatileData
    - reinterpret_cast<uint8_t*>
    - lg2::debug
    - ipmi::ChannelConfig::isValidChannel
    linkageType: ''
    returnType: Cc
    signature: "Cc ChannelConfig::getChannelAccessData(const uint8_t chNum,\n                                       ChannelAccess&
      chAccessData)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::ChannelConfig::isValidChannel
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:474,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:476,1
    - Dst: ipmi::ChannelConfig::getChannelSessionSupport
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:481,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:483,1
    - Dst: isValidAccessMode
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:488,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:490,1
    - Dst: isValidPrivLimit
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:493,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:495,1
    - Dst: ipmi::ChannelConfig::checkAndReloadVolatileData
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:502,1
    - Dst: ipmi::ChannelConfig::writeChannelVolatileData
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:534,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:536,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 3
    argNames:
    - chNum
    - ' chAccessData'
    - setFlag
    argTypes:
    - uint8_t
    - ChannelAccess
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 470
    functionDepth: 1
    functionLinenumber: 470
    functionLinenumberEnd: 540
    functionName: ipmi::ChannelConfig::setChannelAccessData
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp
    functionUses: 0
    functionsReached:
    - ipmi::ChannelConfig::getChannelSessionSupport
    - ipmi::ChannelConfig::checkAndReloadVolatileData
    - ipmi::ChannelConfig::writeChannelVolatileData
    - isValidPrivLimit
    - lg2::debug
    - ipmi::ChannelConfig::isValidChannel
    - isValidAccessMode
    linkageType: ''
    returnType: Cc
    signature: "Cc ChannelConfig::setChannelAccessData(const uint8_t chNum,\n                                       const
      ChannelAccess& chAccessData,\n                                       const uint8_t
      setFlag)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::ChannelConfig::isValidChannel
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:545,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:547,1
    - Dst: ipmi::ChannelConfig::getChannelSessionSupport
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:553,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:555,1
    - Dst: ipmi::ChannelConfig::checkAndReloadNVData
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:559,1
    - Dst: std::copy_n
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:564,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:564,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:567,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - chNum
    - ' chAccessData'
    argTypes:
    - uint8_t
    - ChannelAccess
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 542
    functionDepth: 1
    functionLinenumber: 542
    functionLinenumberEnd: 570
    functionName: ipmi::ChannelConfig::getChannelAccessPersistData
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp
    functionUses: 0
    functionsReached:
    - ipmi::ChannelConfig::getChannelSessionSupport
    - std::copy_n
    - ipmi::ChannelConfig::checkAndReloadNVData
    - reinterpret_cast<uint8_t*>
    - lg2::debug
    - ipmi::ChannelConfig::isValidChannel
    linkageType: ''
    returnType: Cc
    signature: "Cc ChannelConfig::getChannelAccessPersistData(const uint8_t chNum,\n
      \                                             ChannelAccess& chAccessData)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::ChannelConfig::isValidChannel
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:576,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:578,1
    - Dst: ipmi::ChannelConfig::getChannelSessionSupport
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:584,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:586,1
    - Dst: isValidAccessMode
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:591,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:593,1
    - Dst: isValidPrivLimit
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:596,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:598,1
    - Dst: ipmi::ChannelConfig::checkAndReloadNVData
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:605,1
    - Dst: ipmi::ChannelConfig::convertToPrivLimitString
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:633,1
    - Dst: std::string
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:634,1
    - Dst: ipmi::ChannelConfig::setDbusProperty
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:638,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:642,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:649,1
    - Dst: ipmi::ChannelConfig::writeChannelPersistData
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:658,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:660,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 50
    argCount: 3
    argNames:
    - chNum
    - ' chAccessData'
    - setFlag
    argTypes:
    - uint8_t
    - ChannelAccess
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 572
    functionDepth: 1
    functionLinenumber: 572
    functionLinenumberEnd: 664
    functionName: ipmi::ChannelConfig::setChannelAccessPersistData
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp
    functionUses: 0
    functionsReached:
    - ipmi::ChannelConfig::getChannelSessionSupport
    - ipmi::ChannelConfig::setDbusProperty
    - ipmi::ChannelConfig::convertToPrivLimitString
    - ipmi::ChannelConfig::checkAndReloadNVData
    - isValidPrivLimit
    - ipmi::ChannelConfig::writeChannelPersistData
    - std::string
    - lg2::debug
    - ipmi::ChannelConfig::isValidChannel
    - lg2::error
    - isValidAccessMode
    linkageType: ''
    returnType: Cc
    signature: "Cc ChannelConfig::setChannelAccessPersistData(const uint8_t chNum,\n
      \                                             const ChannelAccess& chAccessData,\n
      \                                             const uint8_t setFlag)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::ChannelConfig::isValidChannel
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:669,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:671,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - chNum
    - ' authTypeSupported'
    argTypes:
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 666
    functionDepth: 1
    functionLinenumber: 666
    functionLinenumberEnd: 679
    functionName: ipmi::ChannelConfig::getChannelAuthTypeSupported
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp
    functionUses: 0
    functionsReached:
    - ipmi::ChannelConfig::isValidChannel
    - lg2::debug
    linkageType: ''
    returnType: Cc
    signature: "Cc ChannelConfig::getChannelAuthTypeSupported(const uint8_t chNum,\n
      \                                             uint8_t& authTypeSupported)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::ChannelConfig::isValidChannel
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:684,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:686,1
    - Dst: ipmi::ChannelConfig::getChannelSessionSupport
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:691,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:693,1
    - Dst: isValidPrivLimit
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:697,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:699,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - chNum
    - priv
    - ' authType'
    argTypes:
    - uint8_t
    - uint8_t
    - EAuthType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 681
    functionDepth: 1
    functionLinenumber: 681
    functionLinenumberEnd: 707
    functionName: ipmi::ChannelConfig::getChannelEnabledAuthType
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp
    functionUses: 0
    functionsReached:
    - ipmi::ChannelConfig::getChannelSessionSupport
    - ipmi::ChannelConfig::isValidChannel
    - isValidPrivLimit
    - lg2::debug
    linkageType: ''
    returnType: Cc
    signature: "Cc ChannelConfig::getChannelEnabledAuthType(\n    const uint8_t chNum,
      const uint8_t priv, EAuthType& authType)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:712,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:712,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:714,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' fileName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 709
    functionDepth: 0
    functionLinenumber: 709
    functionLinenumberEnd: 718
    functionName: ipmi::ChannelConfig::getUpdatedFileTime
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp
    functionUses: 0
    functionsReached:
    - stat
    - c_str
    - lg2::debug
    linkageType: ''
    returnType: std::time_t
    signature: std::time_t ChannelConfig::getUpdatedFileTime(const std::string& fileName)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::find
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:723,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:723,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:723,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:724,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:726,1
    - Dst: std::invalid_argument
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:727,1
    - Dst: static_cast<EChannelAccessMode>
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:730,1
    - Dst: std::distance
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:731,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:731,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' mode'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 720
    functionDepth: 0
    functionLinenumber: 720
    functionLinenumberEnd: 732
    functionName: ipmi::ChannelConfig::convertToAccessModeIndex
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp
    functionUses: 0
    functionsReached:
    - static_cast<EChannelAccessMode>
    - std::find
    - std::invalid_argument
    - end
    - begin
    - std::distance
    - lg2::error
    linkageType: ''
    returnType: EChannelAccessMode
    signature: "EChannelAccessMode ChannelConfig::convertToAccessModeIndex(\n    const
      std::string& mode)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:736,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:738,1
    - Dst: std::invalid_argument
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:739,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:742,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 734
    functionDepth: 0
    functionLinenumber: 734
    functionLinenumberEnd: 743
    functionName: ipmi::ChannelConfig::convertToAccessModeString
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp
    functionUses: 0
    functionsReached:
    - size
    - lg2::error
    - at
    - std::invalid_argument
    linkageType: ''
    returnType: std::string
    signature: std::string ChannelConfig::convertToAccessModeString(const uint8_t
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::find
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:748,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:748,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:748,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:749,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:751,1
    - Dst: std::invalid_argument
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:752,1
    - Dst: static_cast<CommandPrivilege>
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:755,1
    - Dst: std::distance
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:755,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:755,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 756
    functionName: ipmi::ChannelConfig::convertToPrivLimitIndex
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp
    functionUses: 1
    functionsReached:
    - std::find
    - static_cast<CommandPrivilege>
    - std::invalid_argument
    - end
    - begin
    - std::distance
    - lg2::error
    linkageType: ''
    returnType: CommandPrivilege
    signature: "CommandPrivilege ChannelConfig::convertToPrivLimitIndex(\n    const
      std::string& value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:760,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:762,1
    - Dst: std::invalid_argument
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:763,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:766,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 758
    functionDepth: 0
    functionLinenumber: 758
    functionLinenumberEnd: 767
    functionName: ipmi::ChannelConfig::convertToPrivLimitString
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp
    functionUses: 1
    functionsReached:
    - size
    - lg2::error
    - at
    - std::invalid_argument
    linkageType: ''
    returnType: std::string
    signature: std::string ChannelConfig::convertToPrivLimitString(const uint8_t value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::find
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:773,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:773,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:773,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:774,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:776,1
    - Dst: std::invalid_argument
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:777,1
    - Dst: static_cast<EChannelSessSupported>
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:780,1
    - Dst: std::distance
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:781,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:781,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 769
    functionDepth: 0
    functionLinenumber: 769
    functionLinenumberEnd: 782
    functionName: ipmi::ChannelConfig::convertToSessionSupportIndex
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp
    functionUses: 0
    functionsReached:
    - std::find
    - std::invalid_argument
    - end
    - begin
    - static_cast<EChannelSessSupported>
    - std::distance
    - lg2::error
    linkageType: ''
    returnType: EChannelSessSupported
    signature: "EChannelSessSupported ChannelConfig::convertToSessionSupportIndex(\n
      \   const std::string& value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:788,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:789,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:791,1
    - Dst: std::invalid_argument
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:792,1
    - Dst: static_cast<EChannelMediumType>
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:795,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 784
    functionDepth: 0
    functionLinenumber: 784
    functionLinenumberEnd: 796
    functionName: ipmi::ChannelConfig::convertToMediumTypeIndex
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp
    functionUses: 0
    functionsReached:
    - std::invalid_argument
    - static_cast<EChannelMediumType>
    - end
    - find
    - lg2::error
    linkageType: ''
    returnType: EChannelMediumType
    signature: "EChannelMediumType ChannelConfig::convertToMediumTypeIndex(\n    const
      std::string& value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:802,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:803,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:805,1
    - Dst: std::invalid_argument
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:806,1
    - Dst: static_cast<EChannelProtocolType>
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:809,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 798
    functionDepth: 0
    functionLinenumber: 798
    functionLinenumberEnd: 810
    functionName: ipmi::ChannelConfig::convertToProtocolTypeIndex
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp
    functionUses: 0
    functionsReached:
    - static_cast<EChannelProtocolType>
    - std::invalid_argument
    - end
    - find
    - lg2::error
    linkageType: ''
    returnType: EChannelProtocolType
    signature: "EChannelProtocolType ChannelConfig::convertToProtocolTypeIndex(\n
      \   const std::string& value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::ifstream::good
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:815,1
    - Dst: lg2::info
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:817,1
    - Dst: Json::parse
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:824,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:828,1
    - Dst: what
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:828,1
    - Dst: std::runtime_error
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:829,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ' configFile'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 833
      start: 812
    functionDepth: 1
    functionLinenumber: 812
    functionLinenumberEnd: 833
    functionName: ipmi::ChannelConfig::readJsonFile
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp
    functionUses: 0
    functionsReached:
    - std::ifstream::good
    - Json::parse
    - std::runtime_error
    - lg2::debug
    - lg2::info
    - what
    linkageType: ''
    returnType: Json
    signature: Json ChannelConfig::readJsonFile(const std::string& configFile)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:839,1
    - Dst: std::string::c_str
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:839,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:843,1
    - Dst: dump
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:847,1
    - Dst: write
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:848,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:848,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:848,1
    - Dst: static_cast<ssize_t>
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:849,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:849,1
    - Dst: close
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:851,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:852,1
    - Dst: close
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:856,1
    - Dst: std::rename
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:858,1
    - Dst: std::string::c_str
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:858,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:858,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:860,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - ' configFile'
    - ' jsonData'
    argTypes:
    - std::string
    - Json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 835
    functionDepth: 0
    functionLinenumber: 835
    functionLinenumberEnd: 866
    functionName: ipmi::ChannelConfig::writeJsonFile
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp
    functionUses: 0
    functionsReached:
    - write
    - close
    - std::rename
    - std::string::c_str
    - size
    - static_cast<ssize_t>
    - c_str
    - dump
    - lg2::error
    - open
    linkageType: ''
    returnType: int
    signature: "int ChannelConfig::writeJsonFile(const std::string& configFile,\n
      \                                const Json& jsonData)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - chNum
    - ' chName'
    argTypes:
    - uint8_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 868
    functionDepth: 0
    functionLinenumber: 868
    functionLinenumberEnd: 882
    functionName: ipmi::ChannelConfig::setDefaultChannelConfig
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ChannelConfig::setDefaultChannelConfig(const uint8_t chNum,\n
      \                                           const std::string& chName)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:906,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 910
      start: 884
    functionDepth: 0
    functionLinenumber: 884
    functionLinenumberEnd: 910
    functionName: ipmi::ChannelConfig::getManagementNICID
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t ChannelConfig::getManagementNICID()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::ChannelConfig::readJsonFile
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:917,1
    - Dst: Json::empty
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:918,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:920,1
    - Dst: fill
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:924,1
    - Dst: getifaddrs
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:929,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:931,1
    - Dst: std::to_string
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:939,1
    - Dst: get
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:940,1
    - Dst: Json::is_null
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:941,1
    - Dst: ipmi::ChannelConfig::setDefaultChannelConfig
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:945,1
    - Dst: get
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:948,1
    - Dst: Json::is_null
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:949,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:951,1
    - Dst: freeifaddrs
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:952,1
    - Dst: get
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:958,1
    - Dst: get
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:963,1
    - Dst: get
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:973,1
    - Dst: get
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:975,1
    - Dst: Json::value
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:976,1
    - Dst: Json::value
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:978,1
    - Dst: Json::count
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:979,1
    - Dst: get
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:982,1
    - Dst: get
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:986,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:988,1
    - Dst: ipmi::ChannelConfig::convertToMediumTypeIndex
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:988,1
    - Dst: get
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:990,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:992,1
    - Dst: ipmi::ChannelConfig::convertToProtocolTypeIndex
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:992,1
    - Dst: get
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:994,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:996,1
    - Dst: ipmi::ChannelConfig::convertToSessionSupportIndex
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:996,1
    - Dst: get
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:997,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1002,1
    - Dst: what
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1002,1
    - Dst: freeifaddrs
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1003,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1009,1
    - Dst: what
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1009,1
    - Dst: freeifaddrs
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1010,1
    - Dst: freeifaddrs
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1014,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 56
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 912
    functionDepth: 2
    functionLinenumber: 912
    functionLinenumberEnd: 1017
    functionName: ipmi::ChannelConfig::loadChannelConfig
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp
    functionUses: 0
    functionsReached:
    - ipmi::ChannelConfig::convertToProtocolTypeIndex
    - Json::count
    - Json::is_null
    - ipmi::ChannelConfig::readJsonFile
    - getifaddrs
    - std::to_string
    - lg2::debug
    - Json::empty
    - get
    - freeifaddrs
    - ipmi::ChannelConfig::convertToMediumTypeIndex
    - static_cast<uint8_t>
    - ipmi::ChannelConfig::convertToSessionSupportIndex
    - fill
    - ipmi::ChannelConfig::setDefaultChannelConfig
    - what
    - Json::value
    - lg2::error
    linkageType: ''
    returnType: int
    signature: int ChannelConfig::loadChannelConfig()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::ChannelConfig::readJsonFile
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1024,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1027,1
    - Dst: Json::begin
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1033,1
    - Dst: Json::end
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1033,1
    - Dst: auto::key
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1036,1
    - Dst: tryParse
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1037,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1039,1
    - Dst: std::out_of_range
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1040,1
    - Dst: auto::value
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1042,1
    - Dst: Json::is_null
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1043,1
    - Dst: get
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1046,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1048,1
    - Dst: ipmi::ChannelConfig::convertToAccessModeIndex
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1048,1
    - Dst: get
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1050,1
    - Dst: get
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1052,1
    - Dst: get
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1054,1
    - Dst: get
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1056,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1058,1
    - Dst: ipmi::ChannelConfig::convertToPrivLimitIndex
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1058,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1062,1
    - Dst: std::runtime_error
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1065,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1072,1
    - Dst: what
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1072,1
    - Dst: std::runtime_error
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1073,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1077,1
    - Dst: what
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1077,1
    - Dst: std::runtime_error
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1078,1
    - Dst: ipmi::ChannelConfig::getUpdatedFileTime
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1082,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1084
      start: 1019
    functionDepth: 2
    functionLinenumber: 1019
    functionLinenumberEnd: 1084
    functionName: ipmi::ChannelConfig::readChannelVolatileData
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp
    functionUses: 0
    functionsReached:
    - ipmi::ChannelConfig::getUpdatedFileTime
    - std::out_of_range
    - Json::is_null
    - ipmi::ChannelConfig::readJsonFile
    - auto::value
    - tryParse
    - lg2::debug
    - get
    - std::runtime_error
    - static_cast<uint8_t>
    - ipmi::ChannelConfig::convertToPrivLimitIndex
    - ipmi::ChannelConfig::convertToAccessModeIndex
    - Json::end
    - what
    - auto::key
    - lg2::error
    - Json::begin
    linkageType: ''
    returnType: int
    signature: int ChannelConfig::readChannelVolatileData()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::ChannelConfig::readJsonFile
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1091,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1094,1
    - Dst: Json::begin
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1100,1
    - Dst: Json::end
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1100,1
    - Dst: auto::key
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1103,1
    - Dst: tryParse
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1104,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1106,1
    - Dst: std::out_of_range
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1107,1
    - Dst: auto::value
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1109,1
    - Dst: Json::is_null
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1110,1
    - Dst: get
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1113,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1115,1
    - Dst: ipmi::ChannelConfig::convertToAccessModeIndex
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1115,1
    - Dst: get
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1117,1
    - Dst: get
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1120,1
    - Dst: get
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1122,1
    - Dst: get
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1124,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1126,1
    - Dst: ipmi::ChannelConfig::convertToPrivLimitIndex
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1126,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1130,1
    - Dst: std::runtime_error
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1132,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1138,1
    - Dst: what
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1138,1
    - Dst: std::runtime_error
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1139,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1143,1
    - Dst: what
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1143,1
    - Dst: std::runtime_error
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1144,1
    - Dst: ipmi::ChannelConfig::getUpdatedFileTime
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1148,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1150
      start: 1086
    functionDepth: 2
    functionLinenumber: 1086
    functionLinenumberEnd: 1150
    functionName: ipmi::ChannelConfig::readChannelPersistData
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp
    functionUses: 0
    functionsReached:
    - ipmi::ChannelConfig::getUpdatedFileTime
    - std::out_of_range
    - Json::is_null
    - ipmi::ChannelConfig::readJsonFile
    - auto::value
    - tryParse
    - lg2::debug
    - get
    - std::runtime_error
    - static_cast<uint8_t>
    - ipmi::ChannelConfig::convertToPrivLimitIndex
    - ipmi::ChannelConfig::convertToAccessModeIndex
    - Json::end
    - what
    - auto::key
    - lg2::error
    - Json::begin
    linkageType: ''
    returnType: int
    signature: int ChannelConfig::readChannelPersistData()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::ChannelConfig::getChannelSessionSupport
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1162,1
    - Dst: std::to_string
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1165,1
    - Dst: ipmi::ChannelConfig::convertToAccessModeString
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1166,1
    - Dst: ipmi::ChannelConfig::convertToPrivLimitString
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1176,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1186,1
    - Dst: what
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1186,1
    - Dst: ipmi::ChannelConfig::writeJsonFile
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1190,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1192,1
    - Dst: ipmi::ChannelConfig::getUpdatedFileTime
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1197,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1199
      start: 1152
    functionDepth: 1
    functionLinenumber: 1152
    functionLinenumberEnd: 1199
    functionName: ipmi::ChannelConfig::writeChannelVolatileData
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp
    functionUses: 2
    functionsReached:
    - ipmi::ChannelConfig::getUpdatedFileTime
    - ipmi::ChannelConfig::getChannelSessionSupport
    - ipmi::ChannelConfig::convertToPrivLimitString
    - std::to_string
    - lg2::debug
    - what
    - ipmi::ChannelConfig::writeJsonFile
    - lg2::error
    - ipmi::ChannelConfig::convertToAccessModeString
    linkageType: ''
    returnType: int
    signature: int ChannelConfig::writeChannelVolatileData()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::ChannelConfig::getChannelSessionSupport
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1211,1
    - Dst: std::to_string
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1214,1
    - Dst: ipmi::ChannelConfig::convertToAccessModeString
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1215,1
    - Dst: ipmi::ChannelConfig::convertToPrivLimitString
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1227,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1237,1
    - Dst: what
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1237,1
    - Dst: ipmi::ChannelConfig::writeJsonFile
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1241,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1243,1
    - Dst: ipmi::ChannelConfig::getUpdatedFileTime
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1248,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1250
      start: 1201
    functionDepth: 1
    functionLinenumber: 1201
    functionLinenumberEnd: 1250
    functionName: ipmi::ChannelConfig::writeChannelPersistData
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp
    functionUses: 2
    functionsReached:
    - ipmi::ChannelConfig::getUpdatedFileTime
    - ipmi::ChannelConfig::getChannelSessionSupport
    - ipmi::ChannelConfig::convertToPrivLimitString
    - std::to_string
    - lg2::debug
    - what
    - ipmi::ChannelConfig::writeJsonFile
    - lg2::error
    - ipmi::ChannelConfig::convertToAccessModeString
    linkageType: ''
    returnType: int
    signature: int ChannelConfig::writeChannelPersistData()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::ChannelConfig::getUpdatedFileTime
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1254,1
    - Dst: ipmi::ChannelConfig::readChannelPersistData
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1260,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1264,1
    - Dst: what
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1265,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1270
      start: 1252
    functionDepth: 3
    functionLinenumber: 1252
    functionLinenumberEnd: 1270
    functionName: ipmi::ChannelConfig::checkAndReloadNVData
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp
    functionUses: 3
    functionsReached:
    - ipmi::ChannelConfig::getUpdatedFileTime
    - ipmi::ChannelConfig::readChannelPersistData
    - what
    - lg2::error
    linkageType: ''
    returnType: int
    signature: int ChannelConfig::checkAndReloadNVData()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::ChannelConfig::getUpdatedFileTime
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1274,1
    - Dst: ipmi::ChannelConfig::readChannelVolatileData
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1280,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1284,1
    - Dst: what
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1285,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1290
      start: 1272
    functionDepth: 3
    functionLinenumber: 1272
    functionLinenumberEnd: 1290
    functionName: ipmi::ChannelConfig::checkAndReloadVolatileData
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp
    functionUses: 3
    functionsReached:
    - ipmi::ChannelConfig::getUpdatedFileTime
    - what
    - lg2::error
    - ipmi::ChannelConfig::readChannelVolatileData
    linkageType: ''
    returnType: int
    signature: int ChannelConfig::checkAndReloadVolatileData()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_method_call
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1300,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1300,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1300,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1303,1
    - Dst: call
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1305,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1309,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - ' service'
    - ' objPath'
    - ' interface'
    - ' property'
    - ' value'
    argTypes:
    - std::string
    - std::string
    - std::string
    - std::string
    - DbusVariant
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1317
      start: 1292
    functionDepth: 0
    functionLinenumber: 1292
    functionLinenumberEnd: 1317
    functionName: ipmi::ChannelConfig::setDbusProperty
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp
    functionUses: 1
    functionsReached:
    - call
    - auto::append
    - c_str
    - lg2::debug
    - new_method_call
    linkageType: ''
    returnType: int
    signature: "int ChannelConfig::setDbusProperty(\n    const std::string& service,
      const std::string& objPath,\n    const std::string& interface, const std::string&
      property,\n    const DbusVariant& value)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::ChannelConfig::getChannelSessionSupport
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1326,1
    - Dst: std::string
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1333,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1335,1
    - Dst: std::get<std::string>
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1339,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1341,1
    - Dst: ipmi::ChannelConfig::convertToPrivLimitIndex
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1341,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1345,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1351,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1357,1
    - Dst: ipmi::ChannelConfig::writeChannelPersistData
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1375,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1377,1
    - Dst: ipmi::ChannelConfig::writeChannelVolatileData
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1381,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1383,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1389
      start: 1319
    functionDepth: 2
    functionLinenumber: 1319
    functionLinenumberEnd: 1389
    functionName: ipmi::ChannelConfig::syncNetworkChannelConfig
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp
    functionUses: 0
    functionsReached:
    - ipmi::ChannelConfig::getChannelSessionSupport
    - ipmi::ChannelConfig::writeChannelVolatileData
    - static_cast<uint8_t>
    - std::string
    - ipmi::ChannelConfig::convertToPrivLimitIndex
    - ipmi::ChannelConfig::writeChannelPersistData
    - lg2::debug
    - ipmi::getDbusProperty
    - std::get<std::string>
    linkageType: ''
    returnType: int
    signature: int ChannelConfig::syncNetworkChannelConfig()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::ChannelConfig::loadChannelConfig
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1397,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1399,1
    - Dst: std::ios_base::failure
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1400,1
    - Dst: ipmi::ChannelConfig::readChannelPersistData
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1404,1
    - Dst: std::filesystem::copy_file
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1407,1
    - Dst: ipmi::ChannelConfig::readChannelPersistData
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1411,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1413,1
    - Dst: std::ios_base::failure
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1414,1
    - Dst: ipmi::ChannelConfig::readChannelVolatileData
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1421,1
    - Dst: std::filesystem::copy_file
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1425,1
    - Dst: ipmi::ChannelConfig::readChannelVolatileData
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1429,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1431,1
    - Dst: std::ios_base::failure
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1432,1
    - Dst: ipmi::ChannelConfig::syncNetworkChannelConfig
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1439,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1441,1
    - Dst: std::ios_base::failure
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1443,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1447,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1449
      start: 1391
    functionDepth: 3
    functionLinenumber: 1391
    functionLinenumberEnd: 1449
    functionName: ipmi::ChannelConfig::initChannelPersistData
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp
    functionUses: 1
    functionsReached:
    - ipmi::ChannelConfig::readChannelPersistData
    - ipmi::ChannelConfig::loadChannelConfig
    - std::ios_base::failure
    - ipmi::ChannelConfig::syncNetworkChannelConfig
    - std::filesystem::copy_file
    - lg2::debug
    - lg2::error
    - ipmi::ChannelConfig::readChannelVolatileData
    linkageType: ''
    returnType: void
    signature: void ChannelConfig::initChannelPersistData()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::ChannelConfig::isValidChannel
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:151,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - chNum
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 159
    functionName: ipmi::ChannelConfig::getChannelName
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp
    functionUses: 0
    functionsReached:
    - ipmi::ChannelConfig::isValidChannel
    - lg2::error
    linkageType: ''
    returnType: std::string
    signature: std::string ChannelConfig::getChannelName(const uint8_t chNum)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:171,1
    - Dst: std::invalid_argument
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:172,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' chName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 175
    functionName: ipmi::ChannelConfig::convertToChannelNumberFromChannelName
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp
    functionUses: 1
    functionsReached:
    - lg2::error
    - std::invalid_argument
    linkageType: ''
    returnType: int
    signature: "int ChannelConfig::convertToChannelNumberFromChannelName(\n    const
      std::string& chName)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:179,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:180,1
    - Dst: compare
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:181,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:183,1
    - Dst: std::invalid_argument
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:184,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 188
    functionName: ipmi::ChannelConfig::getChannelNameFromPath
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp
    functionUses: 1
    functionsReached:
    - compare
    - size
    - std::invalid_argument
    - strlen
    - lg2::error
    linkageType: ''
    returnType: std::string
    signature: std::string ChannelConfig::getChannelNameFromPath(const std::string&
      path)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::ChannelConfig::getChannelNameFromPath
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:197,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:201,1
    - Dst: what
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:201,1
    - Dst: std::get<std::string>
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:213,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:220,1
    - Dst: std::string::empty
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:224,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:226,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:234,1
    - Dst: ipmi::ChannelConfig::convertToPrivLimitIndex
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:234,1
    - Dst: ipmi::ChannelConfig::convertToChannelNumberFromChannelName
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:235,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:239,1
    - Dst: what
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:239,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:249,1
    - Dst: ipmi::ChannelConfig::checkAndReloadVolatileData
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:256,1
    - Dst: ipmi::ChannelConfig::checkAndReloadNVData
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:257,1
    - Dst: ipmi::ChannelConfig::writeChannelPersistData
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:262,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:264,1
    - Dst: ipmi::ChannelConfig::writeChannelVolatileData
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:272,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:274,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 50
    argCount: 2
    argNames:
    - ' path'
    - ' chProperties'
    argTypes:
    - std::string
    - DbusChObjProperties
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 190
    functionDepth: 4
    functionLinenumber: 190
    functionLinenumberEnd: 281
    functionName: ipmi::ChannelConfig::processChAccessPropChange
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp
    functionUses: 1
    functionsReached:
    - ipmi::ChannelConfig::getChannelNameFromPath
    - ipmi::ChannelConfig::convertToChannelNumberFromChannelName
    - ipmi::ChannelConfig::checkAndReloadVolatileData
    - ipmi::ChannelConfig::writeChannelVolatileData
    - ipmi::ChannelConfig::checkAndReloadNVData
    - lg2::debug
    - static_cast<uint8_t>
    - ipmi::ChannelConfig::convertToPrivLimitIndex
    - ipmi::ChannelConfig::writeChannelPersistData
    - std::string::empty
    - what
    - lg2::error
    - std::get<std::string>
    linkageType: ''
    returnType: void
    signature: "void ChannelConfig::processChAccessPropChange(\n    const std::string&
      path, const DbusChObjProperties& chProperties)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 287
    functionName: ipmi::getChannelConfigObject
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ChannelConfig
    signature: ChannelConfig & getChannelConfigObject()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:293,1
    - Dst: reset
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:294,1
    - Dst: reset
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:295,1
    - Dst: unlock
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:296,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 298
    functionName: ChannelConfig::~ChannelConfig()
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp
    functionUses: 0
    functionsReached:
    - unlock
    - reset
    linkageType: ''
    returnType: void
    signature: void ChannelConfig::~ChannelConfig()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ipmid_get_sd_bus_connection
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:300,1
    - Dst: std::ofstream::open
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:303,1
    - Dst: std::ofstream::good
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:305,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:307,1
    - Dst: std::ofstream::close
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:310,1
    - Dst: boost::interprocess::file_lock
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:312,1
    - Dst: try_lock
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:313,1
    - Dst: boost::interprocess::named_recursive_mutex::remove
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:315,1
    - Dst: std::make_unique<boost::interprocess::named_recursive_mutex>
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:317,1
    - Dst: lock_sharable
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:319,1
    - Dst: lock_sharable
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:323,1
    - Dst: std::make_unique<boost::interprocess::named_recursive_mutex>
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:325,1
    - Dst: ipmi::ChannelConfig::initChannelPersistData
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:329,1
    - Dst: boost::interprocess::file_lock
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:331,1
    - Dst: try_lock
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:334,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:336,1
    - Dst: std::make_unique<sdbusplus::bus::match_t>
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:337,1
    - Dst: sdbusplus::bus::match::rules::path_namespace
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:339,1
    - Dst: sdbusplus::bus::match::rules::type::signal
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:341,1
    - Dst: sdbusplus::bus::match::rules::member
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:342,1
    - Dst: get_type_from_interface
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:343,1
    - Dst: sdbusplus::bus::match::rules::argN
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:345,1
    - Dst: get_path
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:349,1
    - Dst: read
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:350,1
    - Dst: ipmi::ChannelConfig::processChAccessPropChange
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:351,1
    - Dst: std::make_unique<sdbusplus::bus::match_t>
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:355,1
    - Dst: sdbusplus::bus::match::rules::type::signal
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:357,1
    - Dst: sdbusplus::bus::match::rules::member
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:358,1
    - Dst: sdbusplus::bus::match::rules::argNpath
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:359,1
    - Dst: std::string
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:360,1
    - Dst: ipmi::ChannelConfig::initChannelPersistData
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:361,1
    - Dst: std::make_unique<sdbusplus::bus::match_t>
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:363,1
    - Dst: sdbusplus::bus::match::rules::type::signal
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:365,1
    - Dst: sdbusplus::bus::match::rules::member
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:366,1
    - Dst: sdbusplus::bus::match::rules::argNpath
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:367,1
    - Dst: std::string
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:368,1
    - Dst: ipmi::ChannelConfig::initChannelPersistData
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:369,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 300
    functionDepth: 4
    functionLinenumber: 300
    functionLinenumberEnd: 371
    functionName: ipmi::ChannelConfig::ChannelConfig
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp
    functionUses: 0
    functionsReached:
    - std::ofstream::open
    - ipmi::ChannelConfig::processChAccessPropChange
    - ipmid_get_sd_bus_connection
    - sdbusplus::bus::match::rules::argN
    - boost::interprocess::named_recursive_mutex::remove
    - get_type_from_interface
    - lock_sharable
    - std::ofstream::close
    - read
    - sdbusplus::bus::match::rules::path_namespace
    - std::string
    - std::ofstream::good
    - ipmi::ChannelConfig::initChannelPersistData
    - get_path
    - sdbusplus::bus::match::rules::argNpath
    - lg2::debug
    - std::make_unique<sdbusplus::bus::match_t>
    - boost::interprocess::file_lock
    - sdbusplus::bus::match::rules::type::signal
    - try_lock
    - std::make_unique<boost::interprocess::named_recursive_mutex>
    - sdbusplus::bus::match::rules::member
    linkageType: ''
    returnType: void
    signature: void ChannelConfig::ChannelConfig()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:377,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - chNum
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 382
    functionName: ipmi::ChannelConfig::isValidChannel
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp
    functionUses: 9
    functionsReached:
    - lg2::debug
    linkageType: ''
    returnType: bool
    signature: bool ChannelConfig::isValidChannel(const uint8_t chNum)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - chNum
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 390
    functionName: ipmi::ChannelConfig::getChannelSessionSupport
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: EChannelSessSupported
    signature: "EChannelSessSupported ChannelConfig::getChannelSessionSupport(\n    const
      uint8_t chNum)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:397,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:402,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:404,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - chNum
    - ' authType'
    argTypes:
    - uint8_t
    - EAuthType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 409
    functionName: ipmi::ChannelConfig::isValidAuthType
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - lg2::debug
    linkageType: ''
    returnType: bool
    signature: "bool ChannelConfig::isValidAuthType(const uint8_t chNum,\n                                    const
      EAuthType& authType)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - chNum
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 419
    functionName: ipmi::ChannelConfig::getChannelActiveSessions
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ChannelConfig::getChannelActiveSessions(const uint8_t chNum)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - chNum
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 424
    functionName: ipmi::ChannelConfig::getChannelMaxTransferSize
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ChannelConfig::getChannelMaxTransferSize(uint8_t chNum)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::ChannelConfig::isValidChannel
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:428,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:430,1
    - Dst: std::copy_n
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:435,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:435,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:437,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - chNum
    - ' chInfo'
    argTypes:
    - uint8_t
    - ChannelInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 426
    functionDepth: 1
    functionLinenumber: 426
    functionLinenumberEnd: 439
    functionName: ipmi::ChannelConfig::getChannelInfo
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp
    functionUses: 0
    functionsReached:
    - ipmi::ChannelConfig::isValidChannel
    - std::copy_n
    - reinterpret_cast<uint8_t*>
    - lg2::debug
    linkageType: ''
    returnType: Cc
    signature: Cc ChannelConfig::getChannelInfo(const uint8_t chNum, ChannelInfo&
      chInfo)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::ChannelConfig::isValidChannel
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:444,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:446,1
    - Dst: ipmi::ChannelConfig::getChannelSessionSupport
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:451,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:453,1
    - Dst: ipmi::ChannelConfig::checkAndReloadVolatileData
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:457,1
    - Dst: std::copy_n
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:462,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:463,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:465,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - chNum
    - ' chAccessData'
    argTypes:
    - uint8_t
    - ChannelAccess
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 441
    functionDepth: 4
    functionLinenumber: 441
    functionLinenumberEnd: 468
    functionName: ipmi::ChannelConfig::getChannelAccessData
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp
    functionUses: 0
    functionsReached:
    - ipmi::ChannelConfig::getChannelSessionSupport
    - std::copy_n
    - ipmi::ChannelConfig::checkAndReloadVolatileData
    - reinterpret_cast<uint8_t*>
    - lg2::debug
    - ipmi::ChannelConfig::isValidChannel
    linkageType: ''
    returnType: Cc
    signature: "Cc ChannelConfig::getChannelAccessData(const uint8_t chNum,\n                                       ChannelAccess&
      chAccessData)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::ChannelConfig::isValidChannel
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:474,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:476,1
    - Dst: ipmi::ChannelConfig::getChannelSessionSupport
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:481,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:483,1
    - Dst: isValidAccessMode
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:488,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:490,1
    - Dst: isValidPrivLimit
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:493,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:495,1
    - Dst: ipmi::ChannelConfig::checkAndReloadVolatileData
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:502,1
    - Dst: ipmi::ChannelConfig::writeChannelVolatileData
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:534,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:536,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 3
    argNames:
    - chNum
    - ' chAccessData'
    - setFlag
    argTypes:
    - uint8_t
    - ChannelAccess
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 470
    functionDepth: 4
    functionLinenumber: 470
    functionLinenumberEnd: 540
    functionName: ipmi::ChannelConfig::setChannelAccessData
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp
    functionUses: 0
    functionsReached:
    - ipmi::ChannelConfig::getChannelSessionSupport
    - ipmi::ChannelConfig::checkAndReloadVolatileData
    - ipmi::ChannelConfig::writeChannelVolatileData
    - isValidPrivLimit
    - lg2::debug
    - ipmi::ChannelConfig::isValidChannel
    - isValidAccessMode
    linkageType: ''
    returnType: Cc
    signature: "Cc ChannelConfig::setChannelAccessData(const uint8_t chNum,\n                                       const
      ChannelAccess& chAccessData,\n                                       const uint8_t
      setFlag)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::ChannelConfig::isValidChannel
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:545,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:547,1
    - Dst: ipmi::ChannelConfig::getChannelSessionSupport
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:553,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:555,1
    - Dst: ipmi::ChannelConfig::checkAndReloadNVData
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:559,1
    - Dst: std::copy_n
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:564,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:564,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:567,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - chNum
    - ' chAccessData'
    argTypes:
    - uint8_t
    - ChannelAccess
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 542
    functionDepth: 4
    functionLinenumber: 542
    functionLinenumberEnd: 570
    functionName: ipmi::ChannelConfig::getChannelAccessPersistData
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp
    functionUses: 0
    functionsReached:
    - ipmi::ChannelConfig::getChannelSessionSupport
    - std::copy_n
    - ipmi::ChannelConfig::checkAndReloadNVData
    - reinterpret_cast<uint8_t*>
    - lg2::debug
    - ipmi::ChannelConfig::isValidChannel
    linkageType: ''
    returnType: Cc
    signature: "Cc ChannelConfig::getChannelAccessPersistData(const uint8_t chNum,\n
      \                                             ChannelAccess& chAccessData)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::ChannelConfig::isValidChannel
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:576,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:578,1
    - Dst: ipmi::ChannelConfig::getChannelSessionSupport
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:584,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:586,1
    - Dst: isValidAccessMode
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:591,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:593,1
    - Dst: isValidPrivLimit
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:596,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:598,1
    - Dst: ipmi::ChannelConfig::checkAndReloadNVData
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:605,1
    - Dst: ipmi::ChannelConfig::convertToPrivLimitString
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:633,1
    - Dst: std::string
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:634,1
    - Dst: ipmi::ChannelConfig::setDbusProperty
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:638,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:642,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:649,1
    - Dst: ipmi::ChannelConfig::writeChannelPersistData
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:658,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:660,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 50
    argCount: 3
    argNames:
    - chNum
    - ' chAccessData'
    - setFlag
    argTypes:
    - uint8_t
    - ChannelAccess
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 572
    functionDepth: 4
    functionLinenumber: 572
    functionLinenumberEnd: 664
    functionName: ipmi::ChannelConfig::setChannelAccessPersistData
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp
    functionUses: 0
    functionsReached:
    - ipmi::ChannelConfig::getChannelSessionSupport
    - ipmi::ChannelConfig::setDbusProperty
    - ipmi::ChannelConfig::convertToPrivLimitString
    - ipmi::ChannelConfig::checkAndReloadNVData
    - isValidPrivLimit
    - ipmi::ChannelConfig::writeChannelPersistData
    - std::string
    - lg2::debug
    - ipmi::ChannelConfig::isValidChannel
    - lg2::error
    - isValidAccessMode
    linkageType: ''
    returnType: Cc
    signature: "Cc ChannelConfig::setChannelAccessPersistData(const uint8_t chNum,\n
      \                                             const ChannelAccess& chAccessData,\n
      \                                             const uint8_t setFlag)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::ChannelConfig::isValidChannel
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:669,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:671,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - chNum
    - ' authTypeSupported'
    argTypes:
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 666
    functionDepth: 1
    functionLinenumber: 666
    functionLinenumberEnd: 679
    functionName: ipmi::ChannelConfig::getChannelAuthTypeSupported
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp
    functionUses: 0
    functionsReached:
    - ipmi::ChannelConfig::isValidChannel
    - lg2::debug
    linkageType: ''
    returnType: Cc
    signature: "Cc ChannelConfig::getChannelAuthTypeSupported(const uint8_t chNum,\n
      \                                             uint8_t& authTypeSupported)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::ChannelConfig::isValidChannel
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:684,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:686,1
    - Dst: ipmi::ChannelConfig::getChannelSessionSupport
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:691,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:693,1
    - Dst: isValidPrivLimit
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:697,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:699,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - chNum
    - priv
    - ' authType'
    argTypes:
    - uint8_t
    - uint8_t
    - EAuthType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 681
    functionDepth: 1
    functionLinenumber: 681
    functionLinenumberEnd: 707
    functionName: ipmi::ChannelConfig::getChannelEnabledAuthType
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp
    functionUses: 0
    functionsReached:
    - ipmi::ChannelConfig::getChannelSessionSupport
    - ipmi::ChannelConfig::isValidChannel
    - isValidPrivLimit
    - lg2::debug
    linkageType: ''
    returnType: Cc
    signature: "Cc ChannelConfig::getChannelEnabledAuthType(\n    const uint8_t chNum,
      const uint8_t priv, EAuthType& authType)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:712,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:712,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:714,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' fileName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 709
    functionDepth: 0
    functionLinenumber: 709
    functionLinenumberEnd: 718
    functionName: ipmi::ChannelConfig::getUpdatedFileTime
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp
    functionUses: 6
    functionsReached:
    - stat
    - c_str
    - lg2::debug
    linkageType: ''
    returnType: std::time_t
    signature: std::time_t ChannelConfig::getUpdatedFileTime(const std::string& fileName)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::find
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:723,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:723,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:723,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:724,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:726,1
    - Dst: std::invalid_argument
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:727,1
    - Dst: static_cast<EChannelAccessMode>
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:730,1
    - Dst: std::distance
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:731,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:731,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' mode'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 720
    functionDepth: 0
    functionLinenumber: 720
    functionLinenumberEnd: 732
    functionName: ipmi::ChannelConfig::convertToAccessModeIndex
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp
    functionUses: 2
    functionsReached:
    - static_cast<EChannelAccessMode>
    - std::find
    - std::invalid_argument
    - end
    - begin
    - std::distance
    - lg2::error
    linkageType: ''
    returnType: EChannelAccessMode
    signature: "EChannelAccessMode ChannelConfig::convertToAccessModeIndex(\n    const
      std::string& mode)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:736,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:738,1
    - Dst: std::invalid_argument
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:739,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:742,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 734
    functionDepth: 0
    functionLinenumber: 734
    functionLinenumberEnd: 743
    functionName: ipmi::ChannelConfig::convertToAccessModeString
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp
    functionUses: 2
    functionsReached:
    - size
    - lg2::error
    - at
    - std::invalid_argument
    linkageType: ''
    returnType: std::string
    signature: std::string ChannelConfig::convertToAccessModeString(const uint8_t
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::find
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:748,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:748,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:748,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:749,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:751,1
    - Dst: std::invalid_argument
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:752,1
    - Dst: static_cast<CommandPrivilege>
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:755,1
    - Dst: std::distance
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:755,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:755,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 756
    functionName: ipmi::ChannelConfig::convertToPrivLimitIndex
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp
    functionUses: 5
    functionsReached:
    - std::find
    - static_cast<CommandPrivilege>
    - std::invalid_argument
    - end
    - begin
    - std::distance
    - lg2::error
    linkageType: ''
    returnType: CommandPrivilege
    signature: "CommandPrivilege ChannelConfig::convertToPrivLimitIndex(\n    const
      std::string& value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:760,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:762,1
    - Dst: std::invalid_argument
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:763,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:766,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 758
    functionDepth: 0
    functionLinenumber: 758
    functionLinenumberEnd: 767
    functionName: ipmi::ChannelConfig::convertToPrivLimitString
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp
    functionUses: 4
    functionsReached:
    - size
    - lg2::error
    - at
    - std::invalid_argument
    linkageType: ''
    returnType: std::string
    signature: std::string ChannelConfig::convertToPrivLimitString(const uint8_t value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::find
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:773,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:773,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:773,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:774,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:776,1
    - Dst: std::invalid_argument
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:777,1
    - Dst: static_cast<EChannelSessSupported>
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:780,1
    - Dst: std::distance
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:781,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:781,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 769
    functionDepth: 0
    functionLinenumber: 769
    functionLinenumberEnd: 782
    functionName: ipmi::ChannelConfig::convertToSessionSupportIndex
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp
    functionUses: 1
    functionsReached:
    - std::find
    - std::invalid_argument
    - end
    - begin
    - static_cast<EChannelSessSupported>
    - std::distance
    - lg2::error
    linkageType: ''
    returnType: EChannelSessSupported
    signature: "EChannelSessSupported ChannelConfig::convertToSessionSupportIndex(\n
      \   const std::string& value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:788,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:789,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:791,1
    - Dst: std::invalid_argument
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:792,1
    - Dst: static_cast<EChannelMediumType>
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:795,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 784
    functionDepth: 0
    functionLinenumber: 784
    functionLinenumberEnd: 796
    functionName: ipmi::ChannelConfig::convertToMediumTypeIndex
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp
    functionUses: 1
    functionsReached:
    - std::invalid_argument
    - static_cast<EChannelMediumType>
    - end
    - find
    - lg2::error
    linkageType: ''
    returnType: EChannelMediumType
    signature: "EChannelMediumType ChannelConfig::convertToMediumTypeIndex(\n    const
      std::string& value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:802,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:803,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:805,1
    - Dst: std::invalid_argument
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:806,1
    - Dst: static_cast<EChannelProtocolType>
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:809,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 798
    functionDepth: 0
    functionLinenumber: 798
    functionLinenumberEnd: 810
    functionName: ipmi::ChannelConfig::convertToProtocolTypeIndex
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp
    functionUses: 1
    functionsReached:
    - static_cast<EChannelProtocolType>
    - std::invalid_argument
    - end
    - find
    - lg2::error
    linkageType: ''
    returnType: EChannelProtocolType
    signature: "EChannelProtocolType ChannelConfig::convertToProtocolTypeIndex(\n
      \   const std::string& value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::ifstream::good
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:815,1
    - Dst: lg2::info
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:817,1
    - Dst: Json::parse
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:824,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:828,1
    - Dst: what
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:828,1
    - Dst: std::runtime_error
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:829,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ' configFile'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 833
      start: 812
    functionDepth: 1
    functionLinenumber: 812
    functionLinenumberEnd: 833
    functionName: ipmi::ChannelConfig::readJsonFile
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp
    functionUses: 3
    functionsReached:
    - std::ifstream::good
    - Json::parse
    - std::runtime_error
    - lg2::debug
    - lg2::info
    - what
    linkageType: ''
    returnType: Json
    signature: Json ChannelConfig::readJsonFile(const std::string& configFile)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:839,1
    - Dst: std::string::c_str
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:839,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:843,1
    - Dst: dump
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:847,1
    - Dst: write
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:848,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:848,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:848,1
    - Dst: static_cast<ssize_t>
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:849,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:849,1
    - Dst: close
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:851,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:852,1
    - Dst: close
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:856,1
    - Dst: std::rename
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:858,1
    - Dst: std::string::c_str
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:858,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:858,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:860,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - ' configFile'
    - ' jsonData'
    argTypes:
    - std::string
    - Json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 835
    functionDepth: 0
    functionLinenumber: 835
    functionLinenumberEnd: 866
    functionName: ipmi::ChannelConfig::writeJsonFile
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp
    functionUses: 2
    functionsReached:
    - write
    - close
    - std::rename
    - std::string::c_str
    - size
    - static_cast<ssize_t>
    - c_str
    - dump
    - lg2::error
    - open
    linkageType: ''
    returnType: int
    signature: "int ChannelConfig::writeJsonFile(const std::string& configFile,\n
      \                                const Json& jsonData)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - chNum
    - ' chName'
    argTypes:
    - uint8_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 868
    functionDepth: 0
    functionLinenumber: 868
    functionLinenumberEnd: 882
    functionName: ipmi::ChannelConfig::setDefaultChannelConfig
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ChannelConfig::setDefaultChannelConfig(const uint8_t chNum,\n
      \                                           const std::string& chName)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:906,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 910
      start: 884
    functionDepth: 0
    functionLinenumber: 884
    functionLinenumberEnd: 910
    functionName: ipmi::ChannelConfig::getManagementNICID
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t ChannelConfig::getManagementNICID()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::ChannelConfig::readJsonFile
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:917,1
    - Dst: Json::empty
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:918,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:920,1
    - Dst: fill
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:924,1
    - Dst: getifaddrs
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:929,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:931,1
    - Dst: std::to_string
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:939,1
    - Dst: get
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:940,1
    - Dst: Json::is_null
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:941,1
    - Dst: ipmi::ChannelConfig::setDefaultChannelConfig
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:945,1
    - Dst: get
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:948,1
    - Dst: Json::is_null
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:949,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:951,1
    - Dst: freeifaddrs
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:952,1
    - Dst: get
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:958,1
    - Dst: get
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:963,1
    - Dst: get
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:973,1
    - Dst: get
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:975,1
    - Dst: Json::value
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:976,1
    - Dst: Json::value
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:978,1
    - Dst: Json::count
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:979,1
    - Dst: get
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:982,1
    - Dst: get
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:986,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:988,1
    - Dst: ipmi::ChannelConfig::convertToMediumTypeIndex
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:988,1
    - Dst: get
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:990,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:992,1
    - Dst: ipmi::ChannelConfig::convertToProtocolTypeIndex
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:992,1
    - Dst: get
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:994,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:996,1
    - Dst: ipmi::ChannelConfig::convertToSessionSupportIndex
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:996,1
    - Dst: get
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:997,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1002,1
    - Dst: what
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1002,1
    - Dst: freeifaddrs
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1003,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1009,1
    - Dst: what
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1009,1
    - Dst: freeifaddrs
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1010,1
    - Dst: freeifaddrs
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1014,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 56
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 912
    functionDepth: 2
    functionLinenumber: 912
    functionLinenumberEnd: 1017
    functionName: ipmi::ChannelConfig::loadChannelConfig
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp
    functionUses: 1
    functionsReached:
    - ipmi::ChannelConfig::convertToProtocolTypeIndex
    - Json::count
    - Json::is_null
    - ipmi::ChannelConfig::readJsonFile
    - getifaddrs
    - std::to_string
    - lg2::debug
    - Json::empty
    - get
    - freeifaddrs
    - ipmi::ChannelConfig::convertToMediumTypeIndex
    - static_cast<uint8_t>
    - ipmi::ChannelConfig::convertToSessionSupportIndex
    - fill
    - ipmi::ChannelConfig::setDefaultChannelConfig
    - what
    - Json::value
    - lg2::error
    linkageType: ''
    returnType: int
    signature: int ChannelConfig::loadChannelConfig()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::ChannelConfig::readJsonFile
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1024,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1027,1
    - Dst: Json::begin
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1033,1
    - Dst: Json::end
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1033,1
    - Dst: auto::key
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1036,1
    - Dst: tryParse
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1037,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1039,1
    - Dst: std::out_of_range
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1040,1
    - Dst: auto::value
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1042,1
    - Dst: Json::is_null
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1043,1
    - Dst: get
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1046,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1048,1
    - Dst: ipmi::ChannelConfig::convertToAccessModeIndex
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1048,1
    - Dst: get
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1050,1
    - Dst: get
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1052,1
    - Dst: get
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1054,1
    - Dst: get
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1056,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1058,1
    - Dst: ipmi::ChannelConfig::convertToPrivLimitIndex
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1058,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1062,1
    - Dst: std::runtime_error
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1065,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1072,1
    - Dst: what
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1072,1
    - Dst: std::runtime_error
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1073,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1077,1
    - Dst: what
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1077,1
    - Dst: std::runtime_error
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1078,1
    - Dst: ipmi::ChannelConfig::getUpdatedFileTime
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1082,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1084
      start: 1019
    functionDepth: 2
    functionLinenumber: 1019
    functionLinenumberEnd: 1084
    functionName: ipmi::ChannelConfig::readChannelVolatileData
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp
    functionUses: 2
    functionsReached:
    - ipmi::ChannelConfig::getUpdatedFileTime
    - std::out_of_range
    - Json::is_null
    - ipmi::ChannelConfig::readJsonFile
    - auto::value
    - tryParse
    - lg2::debug
    - get
    - std::runtime_error
    - static_cast<uint8_t>
    - ipmi::ChannelConfig::convertToPrivLimitIndex
    - ipmi::ChannelConfig::convertToAccessModeIndex
    - Json::end
    - what
    - auto::key
    - lg2::error
    - Json::begin
    linkageType: ''
    returnType: int
    signature: int ChannelConfig::readChannelVolatileData()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::ChannelConfig::readJsonFile
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1091,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1094,1
    - Dst: Json::begin
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1100,1
    - Dst: Json::end
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1100,1
    - Dst: auto::key
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1103,1
    - Dst: tryParse
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1104,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1106,1
    - Dst: std::out_of_range
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1107,1
    - Dst: auto::value
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1109,1
    - Dst: Json::is_null
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1110,1
    - Dst: get
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1113,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1115,1
    - Dst: ipmi::ChannelConfig::convertToAccessModeIndex
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1115,1
    - Dst: get
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1117,1
    - Dst: get
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1120,1
    - Dst: get
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1122,1
    - Dst: get
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1124,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1126,1
    - Dst: ipmi::ChannelConfig::convertToPrivLimitIndex
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1126,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1130,1
    - Dst: std::runtime_error
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1132,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1138,1
    - Dst: what
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1138,1
    - Dst: std::runtime_error
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1139,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1143,1
    - Dst: what
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1143,1
    - Dst: std::runtime_error
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1144,1
    - Dst: ipmi::ChannelConfig::getUpdatedFileTime
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1148,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1150
      start: 1086
    functionDepth: 2
    functionLinenumber: 1086
    functionLinenumberEnd: 1150
    functionName: ipmi::ChannelConfig::readChannelPersistData
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp
    functionUses: 2
    functionsReached:
    - ipmi::ChannelConfig::getUpdatedFileTime
    - std::out_of_range
    - Json::is_null
    - ipmi::ChannelConfig::readJsonFile
    - auto::value
    - tryParse
    - lg2::debug
    - get
    - std::runtime_error
    - static_cast<uint8_t>
    - ipmi::ChannelConfig::convertToPrivLimitIndex
    - ipmi::ChannelConfig::convertToAccessModeIndex
    - Json::end
    - what
    - auto::key
    - lg2::error
    - Json::begin
    linkageType: ''
    returnType: int
    signature: int ChannelConfig::readChannelPersistData()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::ChannelConfig::getChannelSessionSupport
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1162,1
    - Dst: std::to_string
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1165,1
    - Dst: ipmi::ChannelConfig::convertToAccessModeString
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1166,1
    - Dst: ipmi::ChannelConfig::convertToPrivLimitString
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1176,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1186,1
    - Dst: what
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1186,1
    - Dst: ipmi::ChannelConfig::writeJsonFile
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1190,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1192,1
    - Dst: ipmi::ChannelConfig::getUpdatedFileTime
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1197,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1199
      start: 1152
    functionDepth: 1
    functionLinenumber: 1152
    functionLinenumberEnd: 1199
    functionName: ipmi::ChannelConfig::writeChannelVolatileData
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp
    functionUses: 5
    functionsReached:
    - ipmi::ChannelConfig::getUpdatedFileTime
    - ipmi::ChannelConfig::getChannelSessionSupport
    - ipmi::ChannelConfig::convertToPrivLimitString
    - std::to_string
    - lg2::debug
    - what
    - ipmi::ChannelConfig::writeJsonFile
    - lg2::error
    - ipmi::ChannelConfig::convertToAccessModeString
    linkageType: ''
    returnType: int
    signature: int ChannelConfig::writeChannelVolatileData()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::ChannelConfig::getChannelSessionSupport
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1211,1
    - Dst: std::to_string
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1214,1
    - Dst: ipmi::ChannelConfig::convertToAccessModeString
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1215,1
    - Dst: ipmi::ChannelConfig::convertToPrivLimitString
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1227,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1237,1
    - Dst: what
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1237,1
    - Dst: ipmi::ChannelConfig::writeJsonFile
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1241,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1243,1
    - Dst: ipmi::ChannelConfig::getUpdatedFileTime
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1248,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1250
      start: 1201
    functionDepth: 1
    functionLinenumber: 1201
    functionLinenumberEnd: 1250
    functionName: ipmi::ChannelConfig::writeChannelPersistData
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp
    functionUses: 5
    functionsReached:
    - ipmi::ChannelConfig::getUpdatedFileTime
    - ipmi::ChannelConfig::getChannelSessionSupport
    - ipmi::ChannelConfig::convertToPrivLimitString
    - std::to_string
    - lg2::debug
    - what
    - ipmi::ChannelConfig::writeJsonFile
    - lg2::error
    - ipmi::ChannelConfig::convertToAccessModeString
    linkageType: ''
    returnType: int
    signature: int ChannelConfig::writeChannelPersistData()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::ChannelConfig::getUpdatedFileTime
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1254,1
    - Dst: ipmi::ChannelConfig::readChannelPersistData
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1260,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1264,1
    - Dst: what
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1265,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1270
      start: 1252
    functionDepth: 3
    functionLinenumber: 1252
    functionLinenumberEnd: 1270
    functionName: ipmi::ChannelConfig::checkAndReloadNVData
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp
    functionUses: 6
    functionsReached:
    - ipmi::ChannelConfig::getUpdatedFileTime
    - ipmi::ChannelConfig::readChannelPersistData
    - what
    - lg2::error
    linkageType: ''
    returnType: int
    signature: int ChannelConfig::checkAndReloadNVData()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::ChannelConfig::getUpdatedFileTime
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1274,1
    - Dst: ipmi::ChannelConfig::readChannelVolatileData
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1280,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1284,1
    - Dst: what
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1285,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1290
      start: 1272
    functionDepth: 3
    functionLinenumber: 1272
    functionLinenumberEnd: 1290
    functionName: ipmi::ChannelConfig::checkAndReloadVolatileData
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp
    functionUses: 6
    functionsReached:
    - ipmi::ChannelConfig::getUpdatedFileTime
    - what
    - lg2::error
    - ipmi::ChannelConfig::readChannelVolatileData
    linkageType: ''
    returnType: int
    signature: int ChannelConfig::checkAndReloadVolatileData()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_method_call
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1300,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1300,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1300,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1303,1
    - Dst: call
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1305,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1309,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - ' service'
    - ' objPath'
    - ' interface'
    - ' property'
    - ' value'
    argTypes:
    - std::string
    - std::string
    - std::string
    - std::string
    - DbusVariant
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1317
      start: 1292
    functionDepth: 0
    functionLinenumber: 1292
    functionLinenumberEnd: 1317
    functionName: ipmi::ChannelConfig::setDbusProperty
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp
    functionUses: 2
    functionsReached:
    - call
    - auto::append
    - c_str
    - lg2::debug
    - new_method_call
    linkageType: ''
    returnType: int
    signature: "int ChannelConfig::setDbusProperty(\n    const std::string& service,
      const std::string& objPath,\n    const std::string& interface, const std::string&
      property,\n    const DbusVariant& value)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::ChannelConfig::getChannelSessionSupport
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1326,1
    - Dst: std::string
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1333,1
    - Dst: ipmi::getDbusProperty
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1335,1
    - Dst: std::get<std::string>
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1339,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1341,1
    - Dst: ipmi::ChannelConfig::convertToPrivLimitIndex
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1341,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1345,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1351,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1357,1
    - Dst: ipmi::ChannelConfig::writeChannelPersistData
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1375,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1377,1
    - Dst: ipmi::ChannelConfig::writeChannelVolatileData
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1381,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1383,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1389
      start: 1319
    functionDepth: 2
    functionLinenumber: 1319
    functionLinenumberEnd: 1389
    functionName: ipmi::ChannelConfig::syncNetworkChannelConfig
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp
    functionUses: 1
    functionsReached:
    - ipmi::ChannelConfig::getChannelSessionSupport
    - ipmi::ChannelConfig::writeChannelVolatileData
    - static_cast<uint8_t>
    - std::string
    - ipmi::ChannelConfig::convertToPrivLimitIndex
    - ipmi::ChannelConfig::writeChannelPersistData
    - lg2::debug
    - ipmi::getDbusProperty
    - std::get<std::string>
    linkageType: ''
    returnType: int
    signature: int ChannelConfig::syncNetworkChannelConfig()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::ChannelConfig::loadChannelConfig
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1397,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1399,1
    - Dst: std::ios_base::failure
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1400,1
    - Dst: ipmi::ChannelConfig::readChannelPersistData
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1404,1
    - Dst: std::filesystem::copy_file
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1407,1
    - Dst: ipmi::ChannelConfig::readChannelPersistData
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1411,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1413,1
    - Dst: std::ios_base::failure
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1414,1
    - Dst: ipmi::ChannelConfig::readChannelVolatileData
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1421,1
    - Dst: std::filesystem::copy_file
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1425,1
    - Dst: ipmi::ChannelConfig::readChannelVolatileData
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1429,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1431,1
    - Dst: std::ios_base::failure
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1432,1
    - Dst: ipmi::ChannelConfig::syncNetworkChannelConfig
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1439,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1441,1
    - Dst: std::ios_base::failure
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1443,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp:1447,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1449
      start: 1391
    functionDepth: 3
    functionLinenumber: 1391
    functionLinenumberEnd: 1449
    functionName: ipmi::ChannelConfig::initChannelPersistData
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp
    functionUses: 2
    functionsReached:
    - ipmi::ChannelConfig::readChannelPersistData
    - ipmi::ChannelConfig::loadChannelConfig
    - std::ios_base::failure
    - ipmi::ChannelConfig::syncNetworkChannelConfig
    - std::filesystem::copy_file
    - lg2::debug
    - lg2::error
    - ipmi::ChannelConfig::readChannelVolatileData
    linkageType: ''
    returnType: void
    signature: void ChannelConfig::initChannelPersistData()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' csFileName'
    - ' csDefaultFileName'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: ipmi::getCipherConfigObject
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CipherConfig
    signature: "CipherConfig & getCipherConfigObject(const std::string& csFileName,\n
      \                                   const std::string& csDefaultFileName)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::CipherConfig::loadCSPrivilegesToMap
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' csFileName'
    - ' csDefaultFileName'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: ipmi::CipherConfig::CipherConfig
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp
    functionUses: 0
    functionsReached:
    - ipmi::CipherConfig::loadCSPrivilegesToMap
    linkageType: ''
    returnType: void
    signature: "void CipherConfig::CipherConfig(const std::string& csFileName,\n                           const
      std::string& csDefaultFileName)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fs::exists
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:51,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:53,1
    - Dst: ipmi::CipherConfig::readCSPrivilegeLevels
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:58,1
    - Dst: ipmi::CipherConfig::updateCSPrivilegesMap
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:61,1
    - Dst: fs::exists
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:64,1
    - Dst: ipmi::CipherConfig::readCSPrivilegeLevels
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:66,1
    - Dst: ipmi::CipherConfig::updateCSPrivilegesMap
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:71,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 75
    functionName: ipmi::CipherConfig::loadCSPrivilegesToMap
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp
    functionUses: 1
    functionsReached:
    - ipmi::CipherConfig::readCSPrivilegeLevels
    - lg2::error
    - fs::exists
    - ipmi::CipherConfig::updateCSPrivilegesMap
    linkageType: ''
    returnType: void
    signature: void CipherConfig::loadCSPrivilegesToMap()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:81,1
    - Dst: std::to_string
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:84,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:86,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:86,1
    - Dst: ipmi::CipherConfig::convertToPrivLimitIndex
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:88,1
    - Dst: static_cast<std::string>
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:89,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' jsonData'
    argTypes:
    - Json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 93
    functionName: ipmi::CipherConfig::updateCSPrivilegesMap
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp
    functionUses: 1
    functionsReached:
    - std::to_string
    - end
    - find
    - static_cast<std::string>
    - ipmi::CipherConfig::convertToPrivLimitIndex
    linkageType: ''
    returnType: void
    signature: void CipherConfig::updateCSPrivilegesMap(const Json& jsonData)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::ifstream::good
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:98,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:100,1
    - Dst: Json::parse
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:107,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' csFileName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 117
    functionName: ipmi::CipherConfig::readCSPrivilegeLevels
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp
    functionUses: 1
    functionsReached:
    - std::ifstream::good
    - Json::parse
    - lg2::error
    linkageType: ''
    returnType: Json
    signature: Json CipherConfig::readCSPrivilegeLevels(const std::string& csFileName)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::string>
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:122,1
    - Dst: std::string::length
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:124,1
    - Dst: strncpy
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:125,1
    - Dst: std::vector::data
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:125,1
    - Dst: std::string::c_str
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:125,1
    - Dst: std::string::length
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:125,1
    - Dst: mkstemp
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:127,1
    - Dst: std::vector::data
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:127,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:130,1
    - Dst: dump
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:134,1
    - Dst: write
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:135,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:135,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:135,1
    - Dst: static_cast<ssize_t>
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:136,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:136,1
    - Dst: close
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:138,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:139,1
    - Dst: unlink
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:141,1
    - Dst: std::vector::data
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:141,1
    - Dst: fchmod
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:144,1
    - Dst: close
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:146,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:147,1
    - Dst: unlink
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:150,1
    - Dst: std::vector::data
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:150,1
    - Dst: close
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:153,1
    - Dst: std::rename
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:155,1
    - Dst: std::vector::data
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:155,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:155,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:157,1
    - Dst: unlink
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:159,1
    - Dst: std::vector::data
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:159,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 1
    argNames:
    - ' jsonData'
    argTypes:
    - Json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 164
    functionName: ipmi::CipherConfig::writeCSPrivilegeLevels
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp
    functionUses: 0
    functionsReached:
    - write
    - close
    - std::rename
    - strncpy
    - std::string::c_str
    - size
    - unlink
    - static_cast<ssize_t>
    - std::string::length
    - c_str
    - dump
    - static_cast<std::string>
    - lg2::error
    - std::vector::data
    - mkstemp
    - fchmod
    linkageType: ''
    returnType: int
    signature: int CipherConfig::writeCSPrivilegeLevels(const Json& jsonData)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::find
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:168,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:168,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:168,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:169,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:171,1
    - Dst: static_cast<uint4_t>
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:175,1
    - Dst: std::distance
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:175,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 176
    functionName: ipmi::CipherConfig::convertToPrivLimitIndex
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp
    functionUses: 1
    functionsReached:
    - static_cast<uint4_t>
    - std::find
    - end
    - begin
    - std::distance
    - lg2::error
    linkageType: ''
    returnType: uint4_t
    signature: uint4_t CipherConfig::convertToPrivLimitIndex(const std::string& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:180,1
    - Dst: static_cast<size_t>
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - uint4_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 181
    functionName: ipmi::CipherConfig::convertToPrivLimitString
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - at
    linkageType: ''
    returnType: std::string
    signature: std::string CipherConfig::convertToPrivLimitString(const uint4_t& value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isValidChannel
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:186,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:188,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - chNum
    - ' csPrivilegeLevels'
    argTypes:
    - uint8_t
    - std::array<uint4_t, maxCSRecords>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 199
    functionName: ipmi::CipherConfig::getCSPrivilegeLevels
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp
    functionUses: 0
    functionsReached:
    - isValidChannel
    - lg2::error
    linkageType: ''
    returnType: ipmi::Cc
    signature: "ipmi::Cc CipherConfig::getCSPrivilegeLevels(\n    uint8_t chNum, std::array<uint4_t,
      maxCSRecords>& csPrivilegeLevels)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: isValidChannel
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:204,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:206,1
    - Dst: fs::exists
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:213,1
    - Dst: lg2::info
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:215,1
    - Dst: ipmi::CipherConfig::readCSPrivilegeLevels
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:220,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:229,1
    - Dst: std::to_string
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:232,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:233,1
    - Dst: ipmi::CipherConfig::convertToPrivLimitString
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:239,1
    - Dst: std::to_string
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:242,1
    - Dst: ipmi::CipherConfig::writeCSPrivilegeLevels
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:245,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:247,1
    - Dst: ipmi::CipherConfig::updateCSPrivilegesMap
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:251,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 2
    argNames:
    - chNum
    - ' requestData'
    argTypes:
    - uint8_t
    - std::array<uint4_t, maxCSRecords>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 201
    functionDepth: 2
    functionLinenumber: 201
    functionLinenumberEnd: 253
    functionName: ipmi::CipherConfig::setCSPrivilegeLevels
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp
    functionUses: 0
    functionsReached:
    - fs::exists
    - std::to_string
    - ipmi::CipherConfig::writeCSPrivilegeLevels
    - isValidChannel
    - ipmi::CipherConfig::readCSPrivilegeLevels
    - static_cast<uint8_t>
    - ipmi::CipherConfig::convertToPrivLimitString
    - ipmi::CipherConfig::updateCSPrivilegesMap
    - lg2::info
    - lg2::error
    linkageType: ''
    returnType: ipmi::Cc
    signature: "ipmi::Cc CipherConfig::setCSPrivilegeLevels(\n    uint8_t chNum, const
      std::array<uint4_t, maxCSRecords>& requestData)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' csFileName'
    - ' csDefaultFileName'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: ipmi::getCipherConfigObject
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CipherConfig
    signature: "CipherConfig & getCipherConfigObject(const std::string& csFileName,\n
      \                                   const std::string& csDefaultFileName)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::CipherConfig::loadCSPrivilegesToMap
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' csFileName'
    - ' csDefaultFileName'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: ipmi::CipherConfig::CipherConfig
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp
    functionUses: 0
    functionsReached:
    - ipmi::CipherConfig::loadCSPrivilegesToMap
    linkageType: ''
    returnType: void
    signature: "void CipherConfig::CipherConfig(const std::string& csFileName,\n                           const
      std::string& csDefaultFileName)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fs::exists
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:51,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:53,1
    - Dst: ipmi::CipherConfig::readCSPrivilegeLevels
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:58,1
    - Dst: ipmi::CipherConfig::updateCSPrivilegesMap
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:61,1
    - Dst: fs::exists
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:64,1
    - Dst: ipmi::CipherConfig::readCSPrivilegeLevels
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:66,1
    - Dst: ipmi::CipherConfig::updateCSPrivilegesMap
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:71,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 75
    functionName: ipmi::CipherConfig::loadCSPrivilegesToMap
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp
    functionUses: 2
    functionsReached:
    - ipmi::CipherConfig::readCSPrivilegeLevels
    - lg2::error
    - fs::exists
    - ipmi::CipherConfig::updateCSPrivilegesMap
    linkageType: ''
    returnType: void
    signature: void CipherConfig::loadCSPrivilegesToMap()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:81,1
    - Dst: std::to_string
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:84,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:86,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:86,1
    - Dst: ipmi::CipherConfig::convertToPrivLimitIndex
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:88,1
    - Dst: static_cast<std::string>
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:89,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' jsonData'
    argTypes:
    - Json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 93
    functionName: ipmi::CipherConfig::updateCSPrivilegesMap
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp
    functionUses: 3
    functionsReached:
    - std::to_string
    - end
    - find
    - static_cast<std::string>
    - ipmi::CipherConfig::convertToPrivLimitIndex
    linkageType: ''
    returnType: void
    signature: void CipherConfig::updateCSPrivilegesMap(const Json& jsonData)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::ifstream::good
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:98,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:100,1
    - Dst: Json::parse
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:107,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' csFileName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 117
    functionName: ipmi::CipherConfig::readCSPrivilegeLevels
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp
    functionUses: 3
    functionsReached:
    - std::ifstream::good
    - Json::parse
    - lg2::error
    linkageType: ''
    returnType: Json
    signature: Json CipherConfig::readCSPrivilegeLevels(const std::string& csFileName)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::string>
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:122,1
    - Dst: std::string::length
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:124,1
    - Dst: strncpy
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:125,1
    - Dst: std::vector::data
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:125,1
    - Dst: std::string::c_str
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:125,1
    - Dst: std::string::length
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:125,1
    - Dst: mkstemp
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:127,1
    - Dst: std::vector::data
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:127,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:130,1
    - Dst: dump
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:134,1
    - Dst: write
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:135,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:135,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:135,1
    - Dst: static_cast<ssize_t>
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:136,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:136,1
    - Dst: close
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:138,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:139,1
    - Dst: unlink
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:141,1
    - Dst: std::vector::data
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:141,1
    - Dst: fchmod
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:144,1
    - Dst: close
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:146,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:147,1
    - Dst: unlink
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:150,1
    - Dst: std::vector::data
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:150,1
    - Dst: close
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:153,1
    - Dst: std::rename
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:155,1
    - Dst: std::vector::data
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:155,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:155,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:157,1
    - Dst: unlink
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:159,1
    - Dst: std::vector::data
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:159,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 1
    argNames:
    - ' jsonData'
    argTypes:
    - Json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 164
    functionName: ipmi::CipherConfig::writeCSPrivilegeLevels
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp
    functionUses: 1
    functionsReached:
    - write
    - close
    - std::rename
    - strncpy
    - std::string::c_str
    - size
    - unlink
    - static_cast<ssize_t>
    - std::string::length
    - c_str
    - dump
    - static_cast<std::string>
    - lg2::error
    - std::vector::data
    - mkstemp
    - fchmod
    linkageType: ''
    returnType: int
    signature: int CipherConfig::writeCSPrivilegeLevels(const Json& jsonData)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::find
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:168,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:168,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:168,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:169,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:171,1
    - Dst: static_cast<uint4_t>
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:175,1
    - Dst: std::distance
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:175,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 176
    functionName: ipmi::CipherConfig::convertToPrivLimitIndex
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp
    functionUses: 2
    functionsReached:
    - static_cast<uint4_t>
    - std::find
    - end
    - begin
    - std::distance
    - lg2::error
    linkageType: ''
    returnType: uint4_t
    signature: uint4_t CipherConfig::convertToPrivLimitIndex(const std::string& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:180,1
    - Dst: static_cast<size_t>
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - uint4_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 181
    functionName: ipmi::CipherConfig::convertToPrivLimitString
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp
    functionUses: 1
    functionsReached:
    - static_cast<size_t>
    - at
    linkageType: ''
    returnType: std::string
    signature: std::string CipherConfig::convertToPrivLimitString(const uint4_t& value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isValidChannel
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:186,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:188,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - chNum
    - ' csPrivilegeLevels'
    argTypes:
    - uint8_t
    - std::array<uint4_t, maxCSRecords>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 199
    functionName: ipmi::CipherConfig::getCSPrivilegeLevels
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp
    functionUses: 0
    functionsReached:
    - isValidChannel
    - lg2::error
    linkageType: ''
    returnType: ipmi::Cc
    signature: "ipmi::Cc CipherConfig::getCSPrivilegeLevels(\n    uint8_t chNum, std::array<uint4_t,
      maxCSRecords>& csPrivilegeLevels)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: isValidChannel
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:204,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:206,1
    - Dst: fs::exists
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:213,1
    - Dst: lg2::info
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:215,1
    - Dst: ipmi::CipherConfig::readCSPrivilegeLevels
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:220,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:229,1
    - Dst: std::to_string
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:232,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:233,1
    - Dst: ipmi::CipherConfig::convertToPrivLimitString
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:239,1
    - Dst: std::to_string
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:242,1
    - Dst: ipmi::CipherConfig::writeCSPrivilegeLevels
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:245,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:247,1
    - Dst: ipmi::CipherConfig::updateCSPrivilegesMap
      Src: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp:251,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 2
    argNames:
    - chNum
    - ' requestData'
    argTypes:
    - uint8_t
    - std::array<uint4_t, maxCSRecords>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 201
    functionDepth: 2
    functionLinenumber: 201
    functionLinenumberEnd: 253
    functionName: ipmi::CipherConfig::setCSPrivilegeLevels
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp
    functionUses: 0
    functionsReached:
    - fs::exists
    - std::to_string
    - ipmi::CipherConfig::writeCSPrivilegeLevels
    - isValidChannel
    - ipmi::CipherConfig::readCSPrivilegeLevels
    - static_cast<uint8_t>
    - ipmi::CipherConfig::convertToPrivLimitString
    - ipmi::CipherConfig::updateCSPrivilegesMap
    - lg2::info
    - lg2::error
    linkageType: ''
    returnType: ipmi::Cc
    signature: "ipmi::Cc CipherConfig::setCSPrivilegeLevels(\n    uint8_t chNum, const
      std::array<uint4_t, maxCSRecords>& requestData)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: ipmi::ChannelConfig::ChannelConfig
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_mgmt.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ChannelConfig(const ChannelConfig&)
  - 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: '& operator=(const ChannelConfig&)'
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_mgmt.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ChannelConfig
    signature: ChannelConfig & operator=(const ChannelConfig&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: ipmi::ChannelConfig::ChannelConfig
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_mgmt.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ChannelConfig(ChannelConfig&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: '& operator=(ChannelConfig&&)'
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_mgmt.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ChannelConfig
    signature: ChannelConfig & operator=(ChannelConfig&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::ChannelConfig::convertToChannelNumberFromChannelName
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.hpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' chName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: ipmi::ChannelConfig::getChannelByName
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_mgmt.hpp
    functionUses: 0
    functionsReached:
    - ipmi::ChannelConfig::convertToChannelNumberFromChannelName
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t getChannelByName(const std::string& chName)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: ipmi::ChannelConfig::ChannelConfig
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_mgmt.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ChannelConfig(const ChannelConfig&)
  - 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: '& operator=(const ChannelConfig&)'
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_mgmt.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ChannelConfig
    signature: ChannelConfig & operator=(const ChannelConfig&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: ipmi::ChannelConfig::ChannelConfig
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_mgmt.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ChannelConfig(ChannelConfig&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: '& operator=(ChannelConfig&&)'
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_mgmt.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ChannelConfig
    signature: ChannelConfig & operator=(ChannelConfig&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::ChannelConfig::convertToChannelNumberFromChannelName
      Src: /src/phosphor-host-ipmid/user_channel/channel_mgmt.hpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' chName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: ipmi::ChannelConfig::getChannelByName
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_mgmt.hpp
    functionUses: 0
    functionsReached:
    - ipmi::ChannelConfig::convertToChannelNumberFromChannelName
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t getChannelByName(const std::string& chName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: ipmi::responsePayloadTypeNotSupported
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp
    functionUses: 1
    functionsReached:
    - ipmi::response
    linkageType: ''
    returnType: auto
    signature: auto responsePayloadTypeNotSupported()
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::isValidPrivLimit
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:55,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:55,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:57,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:58,1
    - Dst: ipmi::convertCurrentChannelNum
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:62,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:62,1
    - Dst: ipmi::getChannelSessionSupport
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:63,1
    - Dst: ipmi::isValidChannel
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:64,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:66,1
    - Dst: ipmi::responseActionNotSupportedForChannel
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:68,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:78,1
    - Dst: static_cast<EChannelActionType>
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:79,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:84,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:93,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:103,1
    - Dst: ipmi::responseAccessModeNotSupportedForChannel
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:104,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:108,1
    - Dst: static_cast<EChannelActionType>
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:109,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:114,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:118,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:124,1
    - Dst: ipmi::responseAccessModeNotSupportedForChannel
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:125,1
    - Dst: ipmi::setChannelAccessPersistData
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:130,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:133,1
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:134,1
    - Dst: ipmi::setChannelAccessData
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:140,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:143,1
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:144,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:148,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 62
    argCount: 11
    argNames:
    - ctx
    - channel
    - reserved1
    - accessMode
    - usrAuth
    - msgAuth
    - alertDisabled
    - chanAccess
    - channelPrivLimit
    - reserved2
    - channelPrivMode
    argTypes:
    - Context::ptr
    - uint4_t
    - uint4_t
    - uint3_t
    - bool
    - bool
    - bool
    - uint2_t
    - uint4_t
    - uint2_t
    - uint2_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 149
    functionName: ipmi::ipmiSetChannelAccess
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp
    functionUses: 0
    functionsReached:
    - static_cast<EChannelActionType>
    - ipmi::setChannelAccessPersistData
    - ipmi::setChannelAccessData
    - ipmi::convertCurrentChannelNum
    - ipmi::responseSuccess
    - ipmi::getChannelSessionSupport
    - ipmi::responseAccessModeNotSupportedForChannel
    - ipmi::isValidPrivLimit
    - ipmi::responseInvalidFieldRequest
    - static_cast<uint8_t>
    - ipmi::isValidChannel
    - lg2::debug
    - ipmi::response
    - ipmi::responseActionNotSupportedForChannel
    linkageType: ''
    returnType: RspType<>
    signature: "RspType<> ipmiSetChannelAccess(\n    Context::ptr ctx, uint4_t channel,
      uint4_t reserved1, uint3_t accessMode,\n    bool usrAuth, bool msgAuth, bool
      alertDisabled, uint2_t chanAccess,\n    uint4_t channelPrivLimit, uint2_t reserved2,
      uint2_t channelPrivMode)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:181,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:182,1
    - Dst: types::enum_cast<EChannelActionType>
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:185,1
    - Dst: types::enum_cast<EChannelActionType>
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:186,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:188,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:189,1
    - Dst: ipmi::convertCurrentChannelNum
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:193,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:193,1
    - Dst: ipmi::getChannelSessionSupport
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:195,1
    - Dst: ipmi::isValidChannel
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:196,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:198,1
    - Dst: ipmi::responseActionNotSupportedForChannel
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:200,1
    - Dst: types::enum_cast<EChannelActionType>
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:207,1
    - Dst: ipmi::getChannelAccessPersistData
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:209,1
    - Dst: types::enum_cast<EChannelActionType>
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:211,1
    - Dst: ipmi::getChannelAccessData
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:213,1
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:218,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:224,1
    - Dst: types::enum_cast<uint3_t>
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:225,1
    - Dst: types::enum_cast<uint4_t>
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:228,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 5
    argNames:
    - ctx
    - channel
    - reserved1
    - reserved2
    - accessSetMode
    argTypes:
    - Context::ptr
    - uint4_t
    - uint4_t
    - uint6_t
    - uint2_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 229
    functionName: ipmi::ipmiGetChannelAccess
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp
    functionUses: 0
    functionsReached:
    - ipmi::convertCurrentChannelNum
    - ipmi::responseSuccess
    - types::enum_cast<uint4_t>
    - ipmi::getChannelSessionSupport
    - types::enum_cast<EChannelActionType>
    - static_cast<uint8_t>
    - ipmi::responseInvalidFieldRequest
    - ipmi::isValidChannel
    - ipmi::getChannelAccessPersistData
    - lg2::debug
    - ipmi::response
    - ipmi::getChannelAccessData
    - ipmi::responseActionNotSupportedForChannel
    - types::enum_cast<uint3_t>
    linkageType: ''
    returnType: "ipmi ::RspType<uint3_t, // access mode,\n               bool,    //
      user authentication status,\n               bool,    // message authentication
      status,\n               bool,    // alerting status,\n               uint2_t,
      // reserved,\n\n               uint4_t, // channel privilege,\n               uint4_t
      \ // reserved\n               >"
    signature: "ipmi ::RspType<uint3_t, // access mode,\n               bool,    //
      user authentication status,\n               bool,    // message authentication
      status,\n               bool,    // alerting status,\n               uint2_t,
      // reserved,\n\n               uint4_t, // channel privilege,\n               uint4_t
      \ // reserved\n               > ipmiGetChannelAccess(Context::ptr ctx, uint4_t
      channel, uint4_t reserved1,\n                         uint6_t reserved2, uint2_t
      accessSetMode)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:260,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:261,1
    - Dst: ipmi::convertCurrentChannelNum
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:265,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:265,1
    - Dst: ipmi::isValidChannel
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:266,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:268,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:270,1
    - Dst: ipmi::getChannelInfo
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:274,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:277,1
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:280,1
    - Dst: ipmi::getChannelActiveSessions
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:289,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:294,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - ctx
    - channel
    - reserved
    argTypes:
    - Context::ptr
    - uint4_t
    - uint4_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 245
    functionDepth: 2
    functionLinenumber: 245
    functionLinenumberEnd: 297
    functionName: ipmi::ipmiGetChannelInfo
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp
    functionUses: 0
    functionsReached:
    - ipmi::getChannelActiveSessions
    - ipmi::convertCurrentChannelNum
    - ipmi::responseSuccess
    - ipmi::getChannelInfo
    - static_cast<uint8_t>
    - ipmi::isValidChannel
    - ipmi::responseInvalidFieldRequest
    - lg2::debug
    - ipmi::response
    - lg2::error
    linkageType: ''
    returnType: "RspType<uint4_t,  // chNum\n        uint4_t,  // reserved\n        uint7_t,
      \ // mediumType\n        bool,     // reserved\n        uint5_t,  // protocolType\n
      \       uint3_t,  // reserved\n        uint6_t,  // activeSessionCount\n        uint2_t,
      \ // sessionType\n        uint24_t, // Vendor IANA\n        uint16_t  // aux
      info\n        >"
    signature: "RspType<uint4_t,  // chNum\n        uint4_t,  // reserved\n        uint7_t,
      \ // mediumType\n        bool,     // reserved\n        uint5_t,  // protocolType\n
      \       uint3_t,  // reserved\n        uint6_t,  // activeSessionCount\n        uint2_t,
      \ // sessionType\n        uint24_t, // Vendor IANA\n        uint16_t  // aux
      info\n        > ipmiGetChannelInfo(Context::ptr ctx, uint4_t channel, uint4_t
      reserved)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - PayloadType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 304
    functionName: ipmi::standardPayloadBit
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t standardPayloadBit(PayloadType p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:309,1
    - Dst: static_cast<size_t>
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - PayloadType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 311
    functionName: ipmi::sessionPayloadBit
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t sessionPayloadBit(PayloadType p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - PayloadType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 304
    functionName: ipmi::standardPayloadBit
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t standardPayloadBit(PayloadType p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:309,1
    - Dst: static_cast<size_t>
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - PayloadType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 311
    functionName: ipmi::sessionPayloadBit
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t sessionPayloadBit(PayloadType p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::convertCurrentChannelNum
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:334,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:334,1
    - Dst: ipmi::doesDeviceExist
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:336,1
    - Dst: ipmi::isValidChannel
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:336,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:338,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:339,1
    - Dst: ipmi::getChannelSessionSupport
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:343,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:345,1
    - Dst: ipmi::responseActionNotSupportedForChannel
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:346,1
    - Dst: ipmi::standardPayloadBit
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:348,1
    - Dst: ipmi::standardPayloadBit
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:349,1
    - Dst: ipmi::sessionPayloadBit
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:351,1
    - Dst: ipmi::sessionPayloadBit
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:352,1
    - Dst: ipmi::sessionPayloadBit
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:353,1
    - Dst: ipmi::sessionPayloadBit
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:354,1
    - Dst: ipmi::sessionPayloadBit
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:355,1
    - Dst: ipmi::sessionPayloadBit
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:356,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:359,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - ctx
    - channel
    - reserved
    argTypes:
    - Context::ptr
    - uint4_t
    - uint4_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 325
    functionDepth: 2
    functionLinenumber: 325
    functionLinenumberEnd: 361
    functionName: ipmi::ipmiGetChannelPayloadSupport
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp
    functionUses: 0
    functionsReached:
    - ipmi::convertCurrentChannelNum
    - ipmi::responseSuccess
    - ipmi::getChannelSessionSupport
    - ipmi::doesDeviceExist
    - ipmi::isValidChannel
    - static_cast<uint8_t>
    - ipmi::responseInvalidFieldRequest
    - ipmi::standardPayloadBit
    - lg2::debug
    - ipmi::sessionPayloadBit
    - ipmi::responseActionNotSupportedForChannel
    linkageType: ''
    returnType: "RspType<uint16_t, // stdPayloadType\n        uint16_t, // sessSetupPayloadType\n
      \       uint16_t, // OEMPayloadType\n        uint16_t  // reserved\n        >"
    signature: "RspType<uint16_t, // stdPayloadType\n        uint16_t, // sessSetupPayloadType\n
      \       uint16_t, // OEMPayloadType\n        uint16_t  // reserved\n        >
      ipmiGetChannelPayloadSupport(Context::ptr ctx, uint4_t channel,\n                                 uint4_t
      reserved)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::convertCurrentChannelNum
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:378,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:378,1
    - Dst: ipmi::isValidChannel
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:380,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:382,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:383,1
    - Dst: ipmi::getChannelSessionSupport
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:386,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:388,1
    - Dst: ipmi::responsePayloadTypeNotSupported
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:389,1
    - Dst: ipmi::isValidPayloadType
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:392,1
    - Dst: static_cast<PayloadType>
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:392,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:394,1
    - Dst: ipmi::responsePayloadTypeNotSupported
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:396,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:402,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - ctx
    - chNum
    - reserved
    - payloadTypeNum
    argTypes:
    - Context::ptr
    - uint4_t
    - uint4_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 373
    functionDepth: 2
    functionLinenumber: 373
    functionLinenumberEnd: 403
    functionName: ipmi::ipmiGetChannelPayloadVersion
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp
    functionUses: 0
    functionsReached:
    - static_cast<PayloadType>
    - ipmi::convertCurrentChannelNum
    - ipmi::isValidPayloadType
    - ipmi::responseSuccess
    - lg2::error
    - ipmi::getChannelSessionSupport
    - ipmi::isValidChannel
    - static_cast<uint8_t>
    - ipmi::responseInvalidFieldRequest
    - lg2::debug
    - ipmi::responsePayloadTypeNotSupported
    linkageType: ''
    returnType: RspType<uint8_t>
    signature: "RspType<uint8_t> ipmiGetChannelPayloadVersion(Context::ptr ctx, uint4_t
      chNum,\n                                 uint4_t reserved, uint8_t payloadTypeNum)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::ipmiChannelInit
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:408,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:410,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:413,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:416,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:419,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 406
    functionDepth: 2
    functionLinenumber: 406
    functionLinenumberEnd: 424
    functionName: ipmi::registerChannelFunctions
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp
    functionUses: 0
    functionsReached:
    - ipmi::ipmiChannelInit
    - ipmi::registerHandler
    linkageType: ''
    returnType: void
    signature: void registerChannelFunctions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: ipmi::responsePayloadTypeNotSupported
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp
    functionUses: 2
    functionsReached:
    - ipmi::response
    linkageType: ''
    returnType: auto
    signature: auto responsePayloadTypeNotSupported()
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::isValidPrivLimit
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:55,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:55,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:57,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:58,1
    - Dst: ipmi::convertCurrentChannelNum
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:62,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:62,1
    - Dst: ipmi::getChannelSessionSupport
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:63,1
    - Dst: ipmi::isValidChannel
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:64,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:66,1
    - Dst: ipmi::responseActionNotSupportedForChannel
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:68,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:78,1
    - Dst: static_cast<EChannelActionType>
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:79,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:84,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:93,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:103,1
    - Dst: ipmi::responseAccessModeNotSupportedForChannel
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:104,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:108,1
    - Dst: static_cast<EChannelActionType>
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:109,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:114,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:118,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:124,1
    - Dst: ipmi::responseAccessModeNotSupportedForChannel
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:125,1
    - Dst: ipmi::setChannelAccessPersistData
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:130,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:133,1
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:134,1
    - Dst: ipmi::setChannelAccessData
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:140,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:143,1
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:144,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:148,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 62
    argCount: 11
    argNames:
    - ctx
    - channel
    - reserved1
    - accessMode
    - usrAuth
    - msgAuth
    - alertDisabled
    - chanAccess
    - channelPrivLimit
    - reserved2
    - channelPrivMode
    argTypes:
    - Context::ptr
    - uint4_t
    - uint4_t
    - uint3_t
    - bool
    - bool
    - bool
    - uint2_t
    - uint4_t
    - uint2_t
    - uint2_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 149
    functionName: ipmi::ipmiSetChannelAccess
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp
    functionUses: 0
    functionsReached:
    - static_cast<EChannelActionType>
    - ipmi::setChannelAccessPersistData
    - ipmi::setChannelAccessData
    - ipmi::convertCurrentChannelNum
    - ipmi::responseSuccess
    - ipmi::getChannelSessionSupport
    - ipmi::responseAccessModeNotSupportedForChannel
    - ipmi::isValidPrivLimit
    - ipmi::responseInvalidFieldRequest
    - static_cast<uint8_t>
    - ipmi::isValidChannel
    - lg2::debug
    - ipmi::response
    - ipmi::responseActionNotSupportedForChannel
    linkageType: ''
    returnType: RspType<>
    signature: "RspType<> ipmiSetChannelAccess(\n    Context::ptr ctx, uint4_t channel,
      uint4_t reserved1, uint3_t accessMode,\n    bool usrAuth, bool msgAuth, bool
      alertDisabled, uint2_t chanAccess,\n    uint4_t channelPrivLimit, uint2_t reserved2,
      uint2_t channelPrivMode)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:181,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:182,1
    - Dst: types::enum_cast<EChannelActionType>
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:185,1
    - Dst: types::enum_cast<EChannelActionType>
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:186,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:188,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:189,1
    - Dst: ipmi::convertCurrentChannelNum
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:193,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:193,1
    - Dst: ipmi::getChannelSessionSupport
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:195,1
    - Dst: ipmi::isValidChannel
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:196,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:198,1
    - Dst: ipmi::responseActionNotSupportedForChannel
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:200,1
    - Dst: types::enum_cast<EChannelActionType>
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:207,1
    - Dst: ipmi::getChannelAccessPersistData
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:209,1
    - Dst: types::enum_cast<EChannelActionType>
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:211,1
    - Dst: ipmi::getChannelAccessData
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:213,1
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:218,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:224,1
    - Dst: types::enum_cast<uint3_t>
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:225,1
    - Dst: types::enum_cast<uint4_t>
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:228,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 5
    argNames:
    - ctx
    - channel
    - reserved1
    - reserved2
    - accessSetMode
    argTypes:
    - Context::ptr
    - uint4_t
    - uint4_t
    - uint6_t
    - uint2_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 229
    functionName: ipmi::ipmiGetChannelAccess
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp
    functionUses: 0
    functionsReached:
    - ipmi::convertCurrentChannelNum
    - ipmi::responseSuccess
    - types::enum_cast<uint4_t>
    - ipmi::getChannelSessionSupport
    - types::enum_cast<EChannelActionType>
    - static_cast<uint8_t>
    - ipmi::responseInvalidFieldRequest
    - ipmi::isValidChannel
    - ipmi::getChannelAccessPersistData
    - lg2::debug
    - ipmi::response
    - ipmi::getChannelAccessData
    - ipmi::responseActionNotSupportedForChannel
    - types::enum_cast<uint3_t>
    linkageType: ''
    returnType: "ipmi ::RspType<uint3_t, // access mode,\n               bool,    //
      user authentication status,\n               bool,    // message authentication
      status,\n               bool,    // alerting status,\n               uint2_t,
      // reserved,\n\n               uint4_t, // channel privilege,\n               uint4_t
      \ // reserved\n               >"
    signature: "ipmi ::RspType<uint3_t, // access mode,\n               bool,    //
      user authentication status,\n               bool,    // message authentication
      status,\n               bool,    // alerting status,\n               uint2_t,
      // reserved,\n\n               uint4_t, // channel privilege,\n               uint4_t
      \ // reserved\n               > ipmiGetChannelAccess(Context::ptr ctx, uint4_t
      channel, uint4_t reserved1,\n                         uint6_t reserved2, uint2_t
      accessSetMode)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:260,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:261,1
    - Dst: ipmi::convertCurrentChannelNum
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:265,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:265,1
    - Dst: ipmi::isValidChannel
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:266,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:268,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:270,1
    - Dst: ipmi::getChannelInfo
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:274,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:277,1
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:280,1
    - Dst: ipmi::getChannelActiveSessions
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:289,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:294,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - ctx
    - channel
    - reserved
    argTypes:
    - Context::ptr
    - uint4_t
    - uint4_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 245
    functionDepth: 2
    functionLinenumber: 245
    functionLinenumberEnd: 297
    functionName: ipmi::ipmiGetChannelInfo
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp
    functionUses: 0
    functionsReached:
    - ipmi::getChannelActiveSessions
    - ipmi::convertCurrentChannelNum
    - ipmi::responseSuccess
    - ipmi::getChannelInfo
    - static_cast<uint8_t>
    - ipmi::isValidChannel
    - ipmi::responseInvalidFieldRequest
    - lg2::debug
    - ipmi::response
    - lg2::error
    linkageType: ''
    returnType: "RspType<uint4_t,  // chNum\n        uint4_t,  // reserved\n        uint7_t,
      \ // mediumType\n        bool,     // reserved\n        uint5_t,  // protocolType\n
      \       uint3_t,  // reserved\n        uint6_t,  // activeSessionCount\n        uint2_t,
      \ // sessionType\n        uint24_t, // Vendor IANA\n        uint16_t  // aux
      info\n        >"
    signature: "RspType<uint4_t,  // chNum\n        uint4_t,  // reserved\n        uint7_t,
      \ // mediumType\n        bool,     // reserved\n        uint5_t,  // protocolType\n
      \       uint3_t,  // reserved\n        uint6_t,  // activeSessionCount\n        uint2_t,
      \ // sessionType\n        uint24_t, // Vendor IANA\n        uint16_t  // aux
      info\n        > ipmiGetChannelInfo(Context::ptr ctx, uint4_t channel, uint4_t
      reserved)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - PayloadType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 304
    functionName: ipmi::standardPayloadBit
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp
    functionUses: 1
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t standardPayloadBit(PayloadType p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:309,1
    - Dst: static_cast<size_t>
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - PayloadType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 311
    functionName: ipmi::sessionPayloadBit
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp
    functionUses: 1
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t sessionPayloadBit(PayloadType p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - PayloadType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 304
    functionName: ipmi::standardPayloadBit
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp
    functionUses: 1
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t standardPayloadBit(PayloadType p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:309,1
    - Dst: static_cast<size_t>
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - PayloadType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 311
    functionName: ipmi::sessionPayloadBit
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp
    functionUses: 1
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t sessionPayloadBit(PayloadType p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::convertCurrentChannelNum
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:334,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:334,1
    - Dst: ipmi::doesDeviceExist
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:336,1
    - Dst: ipmi::isValidChannel
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:336,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:338,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:339,1
    - Dst: ipmi::getChannelSessionSupport
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:343,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:345,1
    - Dst: ipmi::responseActionNotSupportedForChannel
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:346,1
    - Dst: ipmi::standardPayloadBit
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:348,1
    - Dst: ipmi::standardPayloadBit
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:349,1
    - Dst: ipmi::sessionPayloadBit
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:351,1
    - Dst: ipmi::sessionPayloadBit
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:352,1
    - Dst: ipmi::sessionPayloadBit
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:353,1
    - Dst: ipmi::sessionPayloadBit
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:354,1
    - Dst: ipmi::sessionPayloadBit
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:355,1
    - Dst: ipmi::sessionPayloadBit
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:356,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:359,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - ctx
    - channel
    - reserved
    argTypes:
    - Context::ptr
    - uint4_t
    - uint4_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 325
    functionDepth: 2
    functionLinenumber: 325
    functionLinenumberEnd: 361
    functionName: ipmi::ipmiGetChannelPayloadSupport
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp
    functionUses: 0
    functionsReached:
    - ipmi::convertCurrentChannelNum
    - ipmi::responseSuccess
    - ipmi::getChannelSessionSupport
    - ipmi::doesDeviceExist
    - ipmi::isValidChannel
    - static_cast<uint8_t>
    - ipmi::responseInvalidFieldRequest
    - ipmi::standardPayloadBit
    - lg2::debug
    - ipmi::sessionPayloadBit
    - ipmi::responseActionNotSupportedForChannel
    linkageType: ''
    returnType: "RspType<uint16_t, // stdPayloadType\n        uint16_t, // sessSetupPayloadType\n
      \       uint16_t, // OEMPayloadType\n        uint16_t  // reserved\n        >"
    signature: "RspType<uint16_t, // stdPayloadType\n        uint16_t, // sessSetupPayloadType\n
      \       uint16_t, // OEMPayloadType\n        uint16_t  // reserved\n        >
      ipmiGetChannelPayloadSupport(Context::ptr ctx, uint4_t channel,\n                                 uint4_t
      reserved)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::convertCurrentChannelNum
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:378,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:378,1
    - Dst: ipmi::isValidChannel
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:380,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:382,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:383,1
    - Dst: ipmi::getChannelSessionSupport
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:386,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:388,1
    - Dst: ipmi::responsePayloadTypeNotSupported
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:389,1
    - Dst: ipmi::isValidPayloadType
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:392,1
    - Dst: static_cast<PayloadType>
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:392,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:394,1
    - Dst: ipmi::responsePayloadTypeNotSupported
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:396,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:402,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - ctx
    - chNum
    - reserved
    - payloadTypeNum
    argTypes:
    - Context::ptr
    - uint4_t
    - uint4_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 373
    functionDepth: 2
    functionLinenumber: 373
    functionLinenumberEnd: 403
    functionName: ipmi::ipmiGetChannelPayloadVersion
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp
    functionUses: 0
    functionsReached:
    - static_cast<PayloadType>
    - ipmi::convertCurrentChannelNum
    - ipmi::isValidPayloadType
    - ipmi::responseSuccess
    - lg2::error
    - ipmi::getChannelSessionSupport
    - ipmi::isValidChannel
    - static_cast<uint8_t>
    - ipmi::responseInvalidFieldRequest
    - lg2::debug
    - ipmi::responsePayloadTypeNotSupported
    linkageType: ''
    returnType: RspType<uint8_t>
    signature: "RspType<uint8_t> ipmiGetChannelPayloadVersion(Context::ptr ctx, uint4_t
      chNum,\n                                 uint4_t reserved, uint8_t payloadTypeNum)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::ipmiChannelInit
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:408,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:410,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:413,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:416,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:419,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 406
    functionDepth: 2
    functionLinenumber: 406
    functionLinenumberEnd: 424
    functionName: ipmi::registerChannelFunctions
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp
    functionUses: 0
    functionsReached:
    - ipmi::ipmiChannelInit
    - ipmi::registerHandler
    linkageType: ''
    returnType: void
    signature: void registerChannelFunctions()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getChannelName
      Src: /src/phosphor-host-ipmid/user_channel/channel_layer.cpp:33,1
    - Dst: auto::empty
      Src: /src/phosphor-host-ipmid/user_channel/channel_layer.cpp:34,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/channel_layer.cpp:36,1
    - Dst: stat
      Src: /src/phosphor-host-ipmid/user_channel/channel_layer.cpp:42,1
    - Dst: std::string::data
      Src: /src/phosphor-host-ipmid/user_channel/channel_layer.cpp:42,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channel_layer.cpp:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - chNum
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 49
    functionName: ipmi::doesDeviceExist
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_layer.cpp
    functionUses: 3
    functionsReached:
    - stat
    - std::string::data
    - ipmi::getChannelName
    - auto::empty
    - lg2::debug
    - lg2::error
    linkageType: ''
    returnType: bool
    signature: bool doesDeviceExist(const uint8_t chNum)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - privLimit
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: ipmi::isValidPrivLimit
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_layer.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isValidPrivLimit(const uint8_t privLimit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/channel_layer.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - accessMode
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: ipmi::isValidAccessMode
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_layer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    linkageType: ''
    returnType: bool
    signature: bool isValidAccessMode(const uint8_t accessMode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getChannelConfigObject
      Src: /src/phosphor-host-ipmid/user_channel/channel_layer.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - chNum
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: ipmi::isValidChannel
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_layer.cpp
    functionUses: 11
    functionsReached:
    - ipmi::getChannelConfigObject
    linkageType: ''
    returnType: bool
    signature: bool isValidChannel(const uint8_t chNum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getChannelConfigObject
      Src: /src/phosphor-host-ipmid/user_channel/channel_layer.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - chNum
    - ' authType'
    argTypes:
    - uint8_t
    - EAuthType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: ipmi::isValidAuthType
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_layer.cpp
    functionUses: 0
    functionsReached:
    - ipmi::getChannelConfigObject
    linkageType: ''
    returnType: bool
    signature: bool isValidAuthType(const uint8_t chNum, const EAuthType& authType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getChannelConfigObject
      Src: /src/phosphor-host-ipmid/user_channel/channel_layer.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - chNum
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: ipmi::getChannelSessionSupport
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_layer.cpp
    functionUses: 11
    functionsReached:
    - ipmi::getChannelConfigObject
    linkageType: ''
    returnType: EChannelSessSupported
    signature: EChannelSessSupported getChannelSessionSupport(const uint8_t chNum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getChannelConfigObject
      Src: /src/phosphor-host-ipmid/user_channel/channel_layer.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - chNum
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: ipmi::getChannelActiveSessions
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_layer.cpp
    functionUses: 2
    functionsReached:
    - ipmi::getChannelConfigObject
    linkageType: ''
    returnType: int
    signature: int getChannelActiveSessions(const uint8_t chNum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getChannelConfigObject
      Src: /src/phosphor-host-ipmid/user_channel/channel_layer.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - chNum
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: ipmi::getChannelMaxTransferSize
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_layer.cpp
    functionUses: 0
    functionsReached:
    - ipmi::getChannelConfigObject
    linkageType: ''
    returnType: size_t
    signature: size_t getChannelMaxTransferSize(uint8_t chNum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getChannelConfigObject
      Src: /src/phosphor-host-ipmid/user_channel/channel_layer.cpp:90,1
    - Dst: ipmi::getCipherConfigObject
      Src: /src/phosphor-host-ipmid/user_channel/channel_layer.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 93
    functionName: ipmi::ipmiChannelInit
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_layer.cpp
    functionUses: 2
    functionsReached:
    - ipmi::getCipherConfigObject
    - ipmi::getChannelConfigObject
    linkageType: ''
    returnType: Cc
    signature: Cc ipmiChannelInit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getChannelConfigObject
      Src: /src/phosphor-host-ipmid/user_channel/channel_layer.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - chNum
    - ' chInfo'
    argTypes:
    - uint8_t
    - ChannelInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: ipmi::getChannelInfo
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_layer.cpp
    functionUses: 13
    functionsReached:
    - ipmi::getChannelConfigObject
    linkageType: ''
    returnType: Cc
    signature: Cc getChannelInfo(const uint8_t chNum, ChannelInfo& chInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getChannelConfigObject
      Src: /src/phosphor-host-ipmid/user_channel/channel_layer.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - chNum
    - ' chAccessData'
    argTypes:
    - uint8_t
    - ChannelAccess
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: ipmi::getChannelAccessData
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_layer.cpp
    functionUses: 2
    functionsReached:
    - ipmi::getChannelConfigObject
    linkageType: ''
    returnType: Cc
    signature: Cc getChannelAccessData(const uint8_t chNum, ChannelAccess& chAccessData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getChannelConfigObject
      Src: /src/phosphor-host-ipmid/user_channel/channel_layer.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - chNum
    - ' chAccessData'
    - setFlag
    argTypes:
    - uint8_t
    - ChannelAccess
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 110
    functionName: ipmi::setChannelAccessData
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_layer.cpp
    functionUses: 2
    functionsReached:
    - ipmi::getChannelConfigObject
    linkageType: ''
    returnType: Cc
    signature: "Cc setChannelAccessData(const uint8_t chNum, const ChannelAccess&
      chAccessData,\n                        const uint8_t setFlag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getChannelConfigObject
      Src: /src/phosphor-host-ipmid/user_channel/channel_layer.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - chNum
    - ' chAccessData'
    argTypes:
    - uint8_t
    - ChannelAccess
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 116
    functionName: ipmi::getChannelAccessPersistData
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_layer.cpp
    functionUses: 2
    functionsReached:
    - ipmi::getChannelConfigObject
    linkageType: ''
    returnType: Cc
    signature: Cc getChannelAccessPersistData(const uint8_t chNum, ChannelAccess&
      chAccessData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getChannelConfigObject
      Src: /src/phosphor-host-ipmid/user_channel/channel_layer.cpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - chNum
    - ' chAccessData'
    - setFlag
    argTypes:
    - uint8_t
    - ChannelAccess
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 124
    functionName: ipmi::setChannelAccessPersistData
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_layer.cpp
    functionUses: 2
    functionsReached:
    - ipmi::getChannelConfigObject
    linkageType: ''
    returnType: Cc
    signature: "Cc setChannelAccessPersistData(const uint8_t chNum,\n                               const
      ChannelAccess& chAccessData,\n                               const uint8_t setFlag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getChannelConfigObject
      Src: /src/phosphor-host-ipmid/user_channel/channel_layer.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - chNum
    - ' authTypeSupported'
    argTypes:
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 130
    functionName: ipmi::getChannelAuthTypeSupported
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_layer.cpp
    functionUses: 0
    functionsReached:
    - ipmi::getChannelConfigObject
    linkageType: ''
    returnType: Cc
    signature: Cc getChannelAuthTypeSupported(const uint8_t chNum, uint8_t& authTypeSupported)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getChannelConfigObject
      Src: /src/phosphor-host-ipmid/user_channel/channel_layer.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - chNum
    - priv
    - ' authType'
    argTypes:
    - uint8_t
    - uint8_t
    - EAuthType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 137
    functionName: ipmi::getChannelEnabledAuthType
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_layer.cpp
    functionUses: 0
    functionsReached:
    - ipmi::getChannelConfigObject
    linkageType: ''
    returnType: Cc
    signature: "Cc getChannelEnabledAuthType(const uint8_t chNum, const uint8_t priv,\n
      \                            EAuthType& authType)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getChannelConfigObject
      Src: /src/phosphor-host-ipmid/user_channel/channel_layer.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - chNum
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 142
    functionName: ipmi::getChannelName
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_layer.cpp
    functionUses: 11
    functionsReached:
    - ipmi::getChannelConfigObject
    linkageType: ''
    returnType: std::string
    signature: std::string getChannelName(const uint8_t chNum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getChannelConfigObject
      Src: /src/phosphor-host-ipmid/user_channel/channel_layer.cpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' chName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 147
    functionName: ipmi::getChannelByName
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_layer.cpp
    functionUses: 12
    functionsReached:
    - ipmi::getChannelConfigObject
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t getChannelByName(const std::string& chName)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 1
    argNames:
    - payloadType
    argTypes:
    - PayloadType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 158
    functionName: ipmi::isValidPayloadType
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_layer.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isValidPayloadType(const PayloadType payloadType)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getChannelName
      Src: /src/phosphor-host-ipmid/user_channel/channel_layer.cpp:33,1
    - Dst: auto::empty
      Src: /src/phosphor-host-ipmid/user_channel/channel_layer.cpp:34,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/channel_layer.cpp:36,1
    - Dst: stat
      Src: /src/phosphor-host-ipmid/user_channel/channel_layer.cpp:42,1
    - Dst: std::string::data
      Src: /src/phosphor-host-ipmid/user_channel/channel_layer.cpp:42,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/channel_layer.cpp:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - chNum
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 27
    functionDepth: 2
    functionLinenumber: 27
    functionLinenumberEnd: 49
    functionName: ipmi::doesDeviceExist
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_layer.cpp
    functionUses: 3
    functionsReached:
    - stat
    - std::string::data
    - ipmi::getChannelName
    - auto::empty
    - lg2::debug
    - lg2::error
    linkageType: ''
    returnType: bool
    signature: bool doesDeviceExist(const uint8_t chNum)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - privLimit
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: ipmi::isValidPrivLimit
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_layer.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isValidPrivLimit(const uint8_t privLimit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/channel_layer.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - accessMode
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: ipmi::isValidAccessMode
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_layer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    linkageType: ''
    returnType: bool
    signature: bool isValidAccessMode(const uint8_t accessMode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getChannelConfigObject
      Src: /src/phosphor-host-ipmid/user_channel/channel_layer.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - chNum
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: ipmi::isValidChannel
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_layer.cpp
    functionUses: 11
    functionsReached:
    - ipmi::getChannelConfigObject
    linkageType: ''
    returnType: bool
    signature: bool isValidChannel(const uint8_t chNum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getChannelConfigObject
      Src: /src/phosphor-host-ipmid/user_channel/channel_layer.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - chNum
    - ' authType'
    argTypes:
    - uint8_t
    - EAuthType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: ipmi::isValidAuthType
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_layer.cpp
    functionUses: 0
    functionsReached:
    - ipmi::getChannelConfigObject
    linkageType: ''
    returnType: bool
    signature: bool isValidAuthType(const uint8_t chNum, const EAuthType& authType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getChannelConfigObject
      Src: /src/phosphor-host-ipmid/user_channel/channel_layer.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - chNum
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: ipmi::getChannelSessionSupport
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_layer.cpp
    functionUses: 11
    functionsReached:
    - ipmi::getChannelConfigObject
    linkageType: ''
    returnType: EChannelSessSupported
    signature: EChannelSessSupported getChannelSessionSupport(const uint8_t chNum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getChannelConfigObject
      Src: /src/phosphor-host-ipmid/user_channel/channel_layer.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - chNum
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: ipmi::getChannelActiveSessions
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_layer.cpp
    functionUses: 2
    functionsReached:
    - ipmi::getChannelConfigObject
    linkageType: ''
    returnType: int
    signature: int getChannelActiveSessions(const uint8_t chNum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getChannelConfigObject
      Src: /src/phosphor-host-ipmid/user_channel/channel_layer.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - chNum
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: ipmi::getChannelMaxTransferSize
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_layer.cpp
    functionUses: 0
    functionsReached:
    - ipmi::getChannelConfigObject
    linkageType: ''
    returnType: size_t
    signature: size_t getChannelMaxTransferSize(uint8_t chNum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getChannelConfigObject
      Src: /src/phosphor-host-ipmid/user_channel/channel_layer.cpp:90,1
    - Dst: ipmi::getCipherConfigObject
      Src: /src/phosphor-host-ipmid/user_channel/channel_layer.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 93
    functionName: ipmi::ipmiChannelInit
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_layer.cpp
    functionUses: 2
    functionsReached:
    - ipmi::getCipherConfigObject
    - ipmi::getChannelConfigObject
    linkageType: ''
    returnType: Cc
    signature: Cc ipmiChannelInit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getChannelConfigObject
      Src: /src/phosphor-host-ipmid/user_channel/channel_layer.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - chNum
    - ' chInfo'
    argTypes:
    - uint8_t
    - ChannelInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: ipmi::getChannelInfo
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_layer.cpp
    functionUses: 13
    functionsReached:
    - ipmi::getChannelConfigObject
    linkageType: ''
    returnType: Cc
    signature: Cc getChannelInfo(const uint8_t chNum, ChannelInfo& chInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getChannelConfigObject
      Src: /src/phosphor-host-ipmid/user_channel/channel_layer.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - chNum
    - ' chAccessData'
    argTypes:
    - uint8_t
    - ChannelAccess
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: ipmi::getChannelAccessData
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_layer.cpp
    functionUses: 2
    functionsReached:
    - ipmi::getChannelConfigObject
    linkageType: ''
    returnType: Cc
    signature: Cc getChannelAccessData(const uint8_t chNum, ChannelAccess& chAccessData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getChannelConfigObject
      Src: /src/phosphor-host-ipmid/user_channel/channel_layer.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - chNum
    - ' chAccessData'
    - setFlag
    argTypes:
    - uint8_t
    - ChannelAccess
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 110
    functionName: ipmi::setChannelAccessData
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_layer.cpp
    functionUses: 2
    functionsReached:
    - ipmi::getChannelConfigObject
    linkageType: ''
    returnType: Cc
    signature: "Cc setChannelAccessData(const uint8_t chNum, const ChannelAccess&
      chAccessData,\n                        const uint8_t setFlag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getChannelConfigObject
      Src: /src/phosphor-host-ipmid/user_channel/channel_layer.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - chNum
    - ' chAccessData'
    argTypes:
    - uint8_t
    - ChannelAccess
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 116
    functionName: ipmi::getChannelAccessPersistData
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_layer.cpp
    functionUses: 2
    functionsReached:
    - ipmi::getChannelConfigObject
    linkageType: ''
    returnType: Cc
    signature: Cc getChannelAccessPersistData(const uint8_t chNum, ChannelAccess&
      chAccessData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getChannelConfigObject
      Src: /src/phosphor-host-ipmid/user_channel/channel_layer.cpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - chNum
    - ' chAccessData'
    - setFlag
    argTypes:
    - uint8_t
    - ChannelAccess
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 124
    functionName: ipmi::setChannelAccessPersistData
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_layer.cpp
    functionUses: 2
    functionsReached:
    - ipmi::getChannelConfigObject
    linkageType: ''
    returnType: Cc
    signature: "Cc setChannelAccessPersistData(const uint8_t chNum,\n                               const
      ChannelAccess& chAccessData,\n                               const uint8_t setFlag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getChannelConfigObject
      Src: /src/phosphor-host-ipmid/user_channel/channel_layer.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - chNum
    - ' authTypeSupported'
    argTypes:
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 130
    functionName: ipmi::getChannelAuthTypeSupported
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_layer.cpp
    functionUses: 0
    functionsReached:
    - ipmi::getChannelConfigObject
    linkageType: ''
    returnType: Cc
    signature: Cc getChannelAuthTypeSupported(const uint8_t chNum, uint8_t& authTypeSupported)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getChannelConfigObject
      Src: /src/phosphor-host-ipmid/user_channel/channel_layer.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - chNum
    - priv
    - ' authType'
    argTypes:
    - uint8_t
    - uint8_t
    - EAuthType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 137
    functionName: ipmi::getChannelEnabledAuthType
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_layer.cpp
    functionUses: 0
    functionsReached:
    - ipmi::getChannelConfigObject
    linkageType: ''
    returnType: Cc
    signature: "Cc getChannelEnabledAuthType(const uint8_t chNum, const uint8_t priv,\n
      \                            EAuthType& authType)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getChannelConfigObject
      Src: /src/phosphor-host-ipmid/user_channel/channel_layer.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - chNum
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 142
    functionName: ipmi::getChannelName
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_layer.cpp
    functionUses: 12
    functionsReached:
    - ipmi::getChannelConfigObject
    linkageType: ''
    returnType: std::string
    signature: std::string getChannelName(const uint8_t chNum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::getChannelConfigObject
      Src: /src/phosphor-host-ipmid/user_channel/channel_layer.cpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' chName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 147
    functionName: ipmi::getChannelByName
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_layer.cpp
    functionUses: 12
    functionsReached:
    - ipmi::getChannelConfigObject
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t getChannelByName(const std::string& chName)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 1
    argNames:
    - payloadType
    argTypes:
    - PayloadType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 158
    functionName: ipmi::isValidPayloadType
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/channel_layer.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isValidPayloadType(const PayloadType payloadType)
  - 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: phosphor::user::File::File
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/file.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void File()
  - 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: phosphor::user::File::File
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/file.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void File(const File&)
  - 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 File&)'
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/file.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: File
    signature: File & operator=(const File&)
  - 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: phosphor::user::File::File
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/file.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void File(File&&)
  - 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=(File&&)'
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/file.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: File
    signature: File & operator=(File&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/phosphor-host-ipmid/user_channel/file.hpp:47,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/user_channel/file.hpp:47,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/user_channel/file.hpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' name'
    - ' mode'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: phosphor::user::File::File
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/file.hpp
    functionUses: 0
    functionsReached:
    - c_str
    - fopen
    linkageType: ''
    returnType: void
    signature: "void File(const std::string& name, const std::string& mode,\n         bool
      removeOnExit = false)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fdopen
      Src: /src/phosphor-host-ipmid/user_channel/file.hpp:60,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/user_channel/file.hpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fd
    - ' name'
    - ' mode'
    argTypes:
    - int
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: phosphor::user::File::File
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/file.hpp
    functionUses: 0
    functionsReached:
    - c_str
    - fdopen
    linkageType: ''
    returnType: void
    signature: "void File(int fd, const std::string& name, const std::string& mode,\n
      \        bool removeOnExit = false)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fclose
      Src: /src/phosphor-host-ipmid/user_channel/file.hpp:67,1
    - Dst: fs::exists
      Src: /src/phosphor-host-ipmid/user_channel/file.hpp:71,1
    - Dst: fs::remove
      Src: /src/phosphor-host-ipmid/user_channel/file.hpp:73,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 75
    functionName: ~File()
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/file.hpp
    functionUses: 0
    functionsReached:
    - fs::remove
    - fs::exists
    - fclose
    linkageType: ''
    returnType: void
    signature: void ~File()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: operator()()
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/file.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto operator()()
  - 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: phosphor::user::File::File
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/file.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void File()
  - 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: phosphor::user::File::File
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/file.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void File(const File&)
  - 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 File&)'
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/file.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: File
    signature: File & operator=(const File&)
  - 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: phosphor::user::File::File
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/file.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void File(File&&)
  - 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=(File&&)'
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/file.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: File
    signature: File & operator=(File&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/phosphor-host-ipmid/user_channel/file.hpp:47,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/user_channel/file.hpp:47,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/user_channel/file.hpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' name'
    - ' mode'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: phosphor::user::File::File
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/file.hpp
    functionUses: 0
    functionsReached:
    - c_str
    - fopen
    linkageType: ''
    returnType: void
    signature: "void File(const std::string& name, const std::string& mode,\n         bool
      removeOnExit = false)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fdopen
      Src: /src/phosphor-host-ipmid/user_channel/file.hpp:60,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/user_channel/file.hpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fd
    - ' name'
    - ' mode'
    argTypes:
    - int
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: phosphor::user::File::File
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/file.hpp
    functionUses: 0
    functionsReached:
    - c_str
    - fdopen
    linkageType: ''
    returnType: void
    signature: "void File(int fd, const std::string& name, const std::string& mode,\n
      \        bool removeOnExit = false)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fclose
      Src: /src/phosphor-host-ipmid/user_channel/file.hpp:67,1
    - Dst: fs::exists
      Src: /src/phosphor-host-ipmid/user_channel/file.hpp:71,1
    - Dst: fs::remove
      Src: /src/phosphor-host-ipmid/user_channel/file.hpp:73,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 75
    functionName: ~File()
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/file.hpp
    functionUses: 0
    functionsReached:
    - fs::remove
    - fs::exists
    - fclose
    linkageType: ''
    returnType: void
    signature: void ~File()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: operator()()
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/file.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto operator()()
  - 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: phosphor::user::File::File
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/file.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void File()
  - 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: phosphor::user::File::File
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/file.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void File(const File&)
  - 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 File&)'
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/file.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: File
    signature: File & operator=(const File&)
  - 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: phosphor::user::File::File
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/file.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void File(File&&)
  - 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=(File&&)'
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/file.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: File
    signature: File & operator=(File&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/phosphor-host-ipmid/user_channel/file.hpp:47,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/user_channel/file.hpp:47,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/user_channel/file.hpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' name'
    - ' mode'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: phosphor::user::File::File
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/file.hpp
    functionUses: 0
    functionsReached:
    - c_str
    - fopen
    linkageType: ''
    returnType: void
    signature: "void File(const std::string& name, const std::string& mode,\n         bool
      removeOnExit = false)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fdopen
      Src: /src/phosphor-host-ipmid/user_channel/file.hpp:60,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/user_channel/file.hpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fd
    - ' name'
    - ' mode'
    argTypes:
    - int
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: phosphor::user::File::File
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/file.hpp
    functionUses: 0
    functionsReached:
    - c_str
    - fdopen
    linkageType: ''
    returnType: void
    signature: "void File(int fd, const std::string& name, const std::string& mode,\n
      \        bool removeOnExit = false)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fclose
      Src: /src/phosphor-host-ipmid/user_channel/file.hpp:67,1
    - Dst: fs::exists
      Src: /src/phosphor-host-ipmid/user_channel/file.hpp:71,1
    - Dst: fs::remove
      Src: /src/phosphor-host-ipmid/user_channel/file.hpp:73,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 75
    functionName: ~File()
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/file.hpp
    functionUses: 0
    functionsReached:
    - fs::remove
    - fs::exists
    - fclose
    linkageType: ''
    returnType: void
    signature: void ~File()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: operator()()
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/file.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto operator()()
  - 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: phosphor::user::File::File
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/file.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void File()
  - 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: phosphor::user::File::File
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/file.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void File(const File&)
  - 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 File&)'
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/file.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: File
    signature: File & operator=(const File&)
  - 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: phosphor::user::File::File
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/file.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void File(File&&)
  - 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=(File&&)'
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/file.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: File
    signature: File & operator=(File&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/phosphor-host-ipmid/user_channel/file.hpp:47,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/user_channel/file.hpp:47,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/user_channel/file.hpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' name'
    - ' mode'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: phosphor::user::File::File
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/file.hpp
    functionUses: 0
    functionsReached:
    - c_str
    - fopen
    linkageType: ''
    returnType: void
    signature: "void File(const std::string& name, const std::string& mode,\n         bool
      removeOnExit = false)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fdopen
      Src: /src/phosphor-host-ipmid/user_channel/file.hpp:60,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/user_channel/file.hpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fd
    - ' name'
    - ' mode'
    argTypes:
    - int
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: phosphor::user::File::File
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/file.hpp
    functionUses: 0
    functionsReached:
    - c_str
    - fdopen
    linkageType: ''
    returnType: void
    signature: "void File(int fd, const std::string& name, const std::string& mode,\n
      \        bool removeOnExit = false)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fclose
      Src: /src/phosphor-host-ipmid/user_channel/file.hpp:67,1
    - Dst: fs::exists
      Src: /src/phosphor-host-ipmid/user_channel/file.hpp:71,1
    - Dst: fs::remove
      Src: /src/phosphor-host-ipmid/user_channel/file.hpp:73,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 75
    functionName: ~File()
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/file.hpp
    functionUses: 0
    functionsReached:
    - fs::remove
    - fs::exists
    - fclose
    linkageType: ''
    returnType: void
    signature: void ~File()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: operator()()
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/file.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto operator()()
  - 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: ~CipherConfig()
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CipherConfig()
  - 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: ipmi::CipherConfig::CipherConfig
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CipherConfig()
  - 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: ~CipherConfig()
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CipherConfig()
  - 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: ipmi::CipherConfig::CipherConfig
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CipherConfig()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: init_priority
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:62,1
    - Dst: new_method_call
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:72,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:72,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:72,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:74,1
    - Dst: call
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:75,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 6
    argNames:
    - ' bus'
    - ' service'
    - ' objPath'
    - ' interface'
    - ' property'
    - ' value'
    argTypes:
    - sdbusplus::bus_t
    - std::string
    - std::string
    - std::string
    - std::string
    - DbusUserPropVariant
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 85
    functionName: ipmi::setDbusProperty
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp
    functionUses: 46
    functionsReached:
    - call
    - auto::append
    - c_str
    - new_method_call
    - init_priority
    - lg2::error
    linkageType: ''
    returnType: void
    signature: "void setDbusProperty(sdbusplus::bus_t& bus, const std::string& service,\n
      \                    const std::string& objPath, const std::string& interface,\n
      \                    const std::string& property,\n                     const
      DbusUserPropVariant& value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: ipmi::getUserAccessObject
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp
    functionUses: 28
    functionsReached: []
    linkageType: ''
    returnType: UserAccess
    signature: UserAccess & getUserAccessObject()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assign
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:96,1
    - Dst: sdbusplus::object_path::filename
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' path'
    - ' userName'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 98
    functionName: ipmi::getUserNameFromPath
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp
    functionUses: 0
    functionsReached:
    - assign
    - sdbusplus::object_path::filename
    linkageType: ''
    returnType: int
    signature: int getUserNameFromPath(const std::string& path, std::string& userName)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: getUsersTblPtr
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:104,1
    - Dst: addUserEntry
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:107,1
    - Dst: ipmi::safeUsernameString
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:119,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:127,1
    - Dst: deleteUserIndex
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:136,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:142,1
    - Dst: ipmi::UserAccess::convertToIPMIPrivilege
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:143,1
    - Dst: ipmi::UserAccess::getUsrMgmtSyncIndex
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:148,1
    - Dst: ipmi::safeUsernameCopyToBuffer
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:163,1
    - Dst: ipmi::ipmiRenameUserEntryPassword
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:166,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:176,1
    - Dst: writeUserData
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:182,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:183,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:185,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 46
    argCount: 6
    argNames:
    - ' usrAccess'
    - ' userEvent'
    - ' userName'
    - ' priv'
    - ' enabled'
    - ' newUserName'
    argTypes:
    - UserAccess
    - UserUpdateEvent
    - std::string
    - std::string
    - bool
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 188
    functionName: ipmi::userUpdateHelper
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp
    functionUses: 0
    functionsReached:
    - ipmi::safeUsernameCopyToBuffer
    - getUsersTblPtr
    - ipmi::ipmiRenameUserEntryPassword
    - deleteUserIndex
    - writeUserData
    - addUserEntry
    - c_str
    - ipmi::safeUsernameString
    - static_cast<uint8_t>
    - lg2::debug
    - ipmi::UserAccess::getUsrMgmtSyncIndex
    - ipmi::UserAccess::convertToIPMIPrivilege
    - lg2::error
    linkageType: ''
    returnType: void
    signature: "void userUpdateHelper(UserAccess& usrAccess, const UserUpdateEvent&
      userEvent,\n                      const std::string& userName, const std::string&
      priv,\n                      const bool& enabled, const std::string& newUserName)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: get_member
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:193,1
    - Dst: read
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:202,1
    - Dst: ipmi::getUserNameFromPath
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:203,1
    - Dst: getUserObjProperties
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:204,1
    - Dst: std::find
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:209,1
    - Dst: std::vector::begin
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:209,1
    - Dst: std::vector::end
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:209,1
    - Dst: std::vector::end
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:210,1
    - Dst: read
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:220,1
    - Dst: ipmi::getUserNameFromPath
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:221,1
    - Dst: read
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:226,1
    - Dst: ipmi::getUserNameFromPath
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:231,1
    - Dst: get_path
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:231,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:235,1
    - Dst: std::string::empty
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:239,1
    - Dst: std::string::empty
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:239,1
    - Dst: empty
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:240,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:242,1
    - Dst: checkAndReloadUserData
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:248,1
    - Dst: read
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:254,1
    - Dst: std::get<std::string>
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:261,1
    - Dst: std::get<std::vector<std::string>>
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:266,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:271,1
    - Dst: std::find
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:277,1
    - Dst: std::vector::begin
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:277,1
    - Dst: std::vector::end
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:277,1
    - Dst: std::vector::end
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:278,1
    - Dst: ipmi::userUpdateHelper
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:281,1
    - Dst: sdbusplus::bus_t::new_method_call
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:289,1
    - Dst: get_path
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:290,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:292,1
    - Dst: sdbusplus::bus_t::call
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:293,1
    - Dst: auto::read
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:294,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:298,1
    - Dst: get_path
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:300,1
    - Dst: getUserProperties
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:303,1
    - Dst: ipmi::userUpdateHelper
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:306,1
    - Dst: ipmi::userUpdateHelper
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:312,1
    - Dst: ipmi::userUpdateHelper
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:319,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 71
    argCount: 2
    argNames:
    - ' usrAccess'
    - ' msg'
    argTypes:
    - UserAccess
    - sdbusplus::message_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 323
    functionName: ipmi::userUpdatedSignalHandler
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp
    functionUses: 0
    functionsReached:
    - get_member
    - std::string::empty
    - std::vector::end
    - std::vector::begin
    - read
    - std::find
    - sdbusplus::bus_t::call
    - std::get<std::vector<std::string>>
    - get_path
    - auto::append
    - sdbusplus::bus_t::new_method_call
    - empty
    - lg2::debug
    - lg2::error
    - std::get<std::string>
    - ipmi::getUserNameFromPath
    - getUserObjProperties
    - getUserProperties
    - checkAndReloadUserData
    - std::get<bool>
    - ipmi::userUpdateHelper
    - auto::read
    linkageType: ''
    returnType: void
    signature: void userUpdatedSignalHandler(UserAccess& usrAccess, sdbusplus::message_t&
      msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:329,1
    - Dst: reset
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:330,1
    - Dst: reset
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:331,1
    - Dst: unlock
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:332,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 334
    functionName: UserAccess::~UserAccess()
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp
    functionUses: 0
    functionsReached:
    - unlock
    - reset
    linkageType: ''
    returnType: void
    signature: void UserAccess::~UserAccess()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ipmid_get_sd_bus_connection
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:336,1
    - Dst: std::ofstream::open
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:339,1
    - Dst: std::ofstream::good
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:341,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:343,1
    - Dst: std::ofstream::close
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:346,1
    - Dst: boost::interprocess::file_lock
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:347,1
    - Dst: try_lock
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:348,1
    - Dst: boost::interprocess::named_recursive_mutex::remove
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:350,1
    - Dst: lock_sharable
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:352,1
    - Dst: std::make_unique<boost::interprocess::named_recursive_mutex>
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:353,1
    - Dst: ipmi::UserAccess::cacheUserDataFile
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:356,1
    - Dst: ipmi::UserAccess::getSystemPrivAndGroups
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:357,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 336
    functionDepth: 1
    functionLinenumber: 336
    functionLinenumberEnd: 358
    functionName: ipmi::UserAccess::UserAccess
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp
    functionUses: 0
    functionsReached:
    - std::ofstream::open
    - std::ofstream::close
    - ipmid_get_sd_bus_connection
    - ipmi::UserAccess::cacheUserDataFile
    - ipmi::UserAccess::getSystemPrivAndGroups
    - lock_sharable
    - boost::interprocess::named_recursive_mutex::remove
    - lg2::debug
    - try_lock
    - std::ofstream::good
    - std::make_unique<boost::interprocess::named_recursive_mutex>
    - boost::interprocess::file_lock
    linkageType: ''
    returnType: void
    signature: void UserAccess::UserAccess()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::UserAccess::checkAndReloadUserData
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - userId
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 364
    functionName: ipmi::UserAccess::getUserInfo
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp
    functionUses: 0
    functionsReached:
    - ipmi::UserAccess::checkAndReloadUserData
    linkageType: ''
    returnType: UserInfo
    signature: UserInfo * UserAccess::getUserInfo(const uint8_t userId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::UserAccess::checkAndReloadUserData
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:368,1
    - Dst: std::copy
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:369,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:369,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:370,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:371,1
    - Dst: ipmi::UserAccess::writeUserData
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - userId
    - userInfo
    argTypes:
    - uint8_t
    - UserInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 373
    functionName: ipmi::UserAccess::setUserInfo
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp
    functionUses: 0
    functionsReached:
    - ipmi::UserAccess::writeUserData
    - reinterpret_cast<uint8_t*>
    - std::copy
    - ipmi::UserAccess::checkAndReloadUserData
    linkageType: ''
    returnType: void
    signature: void UserAccess::setUserInfo(const uint8_t userId, UserInfo* userInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - chNum
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 378
    functionName: ipmi::UserAccess::isValidChannel
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool UserAccess::isValidChannel(const uint8_t chNum)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - userId
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 383
    functionName: ipmi::UserAccess::isValidUserId
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool UserAccess::isValidUserId(const uint8_t userId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isValidPrivLimit
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - priv
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 389
    functionName: ipmi::UserAccess::isValidPrivilege
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp
    functionUses: 2
    functionsReached:
    - isValidPrivLimit
    linkageType: ''
    returnType: bool
    signature: bool UserAccess::isValidPrivilege(const uint8_t priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getChannelConfigObject
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 402
    functionName: ipmi::UserAccess::getUsrMgmtSyncIndex
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp
    functionUses: 1
    functionsReached:
    - getChannelConfigObject
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t UserAccess::getUsrMgmtSyncIndex()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::find
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:406,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:406,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:406,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:407,1
    - Dst: static_cast<CommandPrivilege>
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:411,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:413,1
    - Dst: std::out_of_range
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:415,1
    - Dst: static_cast<CommandPrivilege>
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:419,1
    - Dst: std::distance
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:420,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:420,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 422
    functionName: ipmi::UserAccess::convertToIPMIPrivilege
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp
    functionUses: 1
    functionsReached:
    - std::out_of_range
    - std::find
    - static_cast<CommandPrivilege>
    - end
    - begin
    - std::distance
    - lg2::error
    linkageType: ''
    returnType: CommandPrivilege
    signature: CommandPrivilege UserAccess::convertToIPMIPrivilege(const std::string&
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<CommandPrivilege>
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:426,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:432,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:436,1
    - Dst: std::out_of_range
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:438,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - CommandPrivilege
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 440
    functionName: ipmi::UserAccess::convertToSystemPrivilege
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp
    functionUses: 0
    functionsReached:
    - static_cast<CommandPrivilege>
    - std::out_of_range
    - lg2::error
    - at
    linkageType: ''
    returnType: std::string
    signature: std::string UserAccess::convertToSystemPrivilege(const CommandPrivilege&
      value)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:444,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:446,1
    - Dst: std::regex_match
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:449,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:449,1
    - Dst: std::regex
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:450,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:452,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:457,1
    - Dst: new_method_call
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:464,1
    - Dst: call
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:466,1
    - Dst: auto::read
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:467,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:471,1
    - Dst: std::map::find
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:480,1
    - Dst: std::map::end
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:480,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:482,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - ' userName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 488
    functionName: ipmi::UserAccess::isValidUserName
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp
    functionUses: 0
    functionsReached:
    - std::map::end
    - std::map::find
    - call
    - std::regex
    - lg2::debug
    - c_str
    - auto::read
    - empty
    - std::regex_match
    - lg2::error
    - new_method_call
    linkageType: ''
    returnType: bool
    signature: bool UserAccess::isValidUserName(const std::string& userName)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<char*>
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:527,1
    - Dst: std::strlen
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:528,1
    - Dst: reinterpret_cast<char*>
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:535,1
    - Dst: malloc
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:535,1
    - Dst: calloc
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:542,1
    - Dst: static_cast<size_t>
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:542,1
    - Dst: free
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:545,1
    - Dst: std::strncpy
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:549,1
    - Dst: reinterpret_cast<pam_response*>
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:551,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 4
    argNames:
    - numMsg
    - msg
    - resp
    - appdataPtr
    argTypes:
    - int
    - struct pam_message**
    - struct pam_response**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 558
    functionName: ipmi::pamFunctionConversation
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp
    functionUses: 0
    functionsReached:
    - std::strncpy
    - static_cast<size_t>
    - malloc
    - reinterpret_cast<char*>
    - std::strlen
    - free
    - calloc
    - reinterpret_cast<pam_response*>
    linkageType: ''
    returnType: int
    signature: "int pamFunctionConversation(int numMsg, const struct pam_message**
      msg,\n                                   struct pam_response** resp, void* appdataPtr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<char*>
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:572,1
    - Dst: pam_start
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:576,1
    - Dst: pam_chauthtok
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:583,1
    - Dst: pam_end
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:586,1
    - Dst: pam_end
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:590,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - username
    - password
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 591
    functionName: ipmi::pamUpdatePasswd
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp
    functionUses: 0
    functionsReached:
    - pam_end
    - const_cast<char*>
    - pam_start
    - pam_chauthtok
    linkageType: ''
    returnType: int
    signature: int pamUpdatePasswd(const char* username, const char* password)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<char*>
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:597,1
    - Dst: std::string_view::data
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:597,1
    - Dst: pam_start
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:601,1
    - Dst: std::string_view::data
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:601,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:604,1
    - Dst: pam_authenticate
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:608,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:613,1
    - Dst: pam_end
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:616,1
    - Dst: pam_acct_mgmt
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:620,1
    - Dst: pam_end
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:623,1
    - Dst: pam_end
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:627,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - username
    - password
    argTypes:
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 632
    functionName: ipmi::pamUserCheckAuthenticate
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp
    functionUses: 2
    functionsReached:
    - pam_end
    - std::string_view::data
    - pam_start
    - pam_acct_mgmt
    - lg2::debug
    - lg2::error
    - const_cast<char*>
    - pam_authenticate
    linkageType: ''
    returnType: bool
    signature: "bool pamUserCheckAuthenticate(std::string_view username,\n                              std::string_view
      password)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pamUpdatePasswd
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:637,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:637,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:637,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:639,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' userName'
    - ' userPassword'
    argTypes:
    - std::string
    - SecureString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 643
    functionName: ipmi::UserAccess::setSpecialUserPassword
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp
    functionUses: 0
    functionsReached:
    - pamUpdatePasswd
    - c_str
    - lg2::debug
    linkageType: ''
    returnType: Cc
    signature: "Cc UserAccess::setSpecialUserPassword(const std::string& userName,\n
      \                                     const SecureString& userPassword)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ipmiUserGetUserName
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:648,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:650,1
    - Dst: ipmi::SecureString::SecureString
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:655,1
    - Dst: strnlen
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:656,1
    - Dst: ipmi::SecureString::assign
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:657,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:657,1
    - Dst: pamUpdatePasswd
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:658,1
    - Dst: std::string::c_str
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:658,1
    - Dst: ipmi::SecureString::c_str
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:658,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:668,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:673,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 2
    argNames:
    - userId
    - userPassword
    argTypes:
    - uint8_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 645
    functionDepth: 1
    functionLinenumber: 645
    functionLinenumberEnd: 678
    functionName: ipmi::UserAccess::setUserPassword
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp
    functionUses: 0
    functionsReached:
    - pamUpdatePasswd
    - std::string::c_str
    - strnlen
    - ipmi::SecureString::SecureString
    - ipmiUserGetUserName
    - ipmi::SecureString::assign
    - ipmi::SecureString::c_str
    - lg2::debug
    - reinterpret_cast<const char*>
    linkageType: ''
    returnType: Cc
    signature: Cc UserAccess::setUserPassword(const uint8_t userId, const char* userPassword)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::UserAccess::isValidUserId
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:683,1
    - Dst: ipmi::UserAccess::getUserInfo
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:689,1
    - Dst: safeUsernameAssign
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:692,1
    - Dst: std::string::empty
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:694,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:696,1
    - Dst: setDbusProperty
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:704,1
    - Dst: ipmi::UserAccess::writeUserData
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:709,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:713,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - userId
    - ' enabledState'
    argTypes:
    - uint8_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 680
    functionDepth: 2
    functionLinenumber: 680
    functionLinenumberEnd: 718
    functionName: ipmi::UserAccess::setUserEnabledState
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp
    functionUses: 0
    functionsReached:
    - ipmi::UserAccess::isValidUserId
    - safeUsernameAssign
    - ipmi::UserAccess::writeUserData
    - lg2::debug
    - ipmi::UserAccess::getUserInfo
    - setDbusProperty
    - std::string::empty
    linkageType: ''
    returnType: Cc
    signature: "Cc UserAccess::setUserEnabledState(const uint8_t userId,\n                                   const
      bool& enabledState)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::UserAccess::isValidChannel
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:727,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:729,1
    - Dst: ipmi::UserAccess::isValidUserId
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:734,1
    - Dst: ipmi::UserAccess::getUserInfo
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:745,1
    - Dst: ipmi::UserAccess::writeUserData
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:766,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:770,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 4
    argNames:
    - chNum
    - operation
    - userId
    - ' payloadAccess'
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t
    - PayloadAccess
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 720
    functionDepth: 2
    functionLinenumber: 720
    functionLinenumberEnd: 774
    functionName: ipmi::UserAccess::setUserPayloadAccess
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp
    functionUses: 0
    functionsReached:
    - ipmi::UserAccess::isValidUserId
    - ipmi::UserAccess::isValidChannel
    - ipmi::UserAccess::writeUserData
    - lg2::debug
    - ipmi::UserAccess::getUserInfo
    - lg2::error
    linkageType: ''
    returnType: Cc
    signature: "Cc UserAccess::setUserPayloadAccess(\n    const uint8_t chNum, const
      uint8_t operation, const uint8_t userId,\n    const PayloadAccess& payloadAccess)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::UserAccess::isValidChannel
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:780,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:782,1
    - Dst: ipmi::UserAccess::isValidUserId
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:787,1
    - Dst: ipmi::UserAccess::getUserInfo
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:793,1
    - Dst: safeUsernameAssign
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:795,1
    - Dst: std::string::empty
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:796,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:798,1
    - Dst: ipmi::UserAccess::convertToSystemPrivilege
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:801,1
    - Dst: static_cast<CommandPrivilege>
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:802,1
    - Dst: ipmi::UserAccess::getUsrMgmtSyncIndex
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:803,1
    - Dst: setDbusProperty
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:810,1
    - Dst: ipmi::UserAccess::writeUserData
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:825,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:829,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 4
    argNames:
    - userId
    - chNum
    - ' privAccess'
    - ' otherPrivUpdates'
    argTypes:
    - uint8_t
    - uint8_t
    - UserPrivAccess
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 833
      start: 776
    functionDepth: 2
    functionLinenumber: 776
    functionLinenumberEnd: 833
    functionName: ipmi::UserAccess::setUserPrivilegeAccess
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp
    functionUses: 0
    functionsReached:
    - ipmi::UserAccess::isValidUserId
    - ipmi::UserAccess::isValidChannel
    - static_cast<CommandPrivilege>
    - safeUsernameAssign
    - ipmi::UserAccess::getUsrMgmtSyncIndex
    - ipmi::UserAccess::writeUserData
    - ipmi::UserAccess::convertToSystemPrivilege
    - lg2::debug
    - ipmi::UserAccess::getUserInfo
    - setDbusProperty
    - std::string::empty
    linkageType: ''
    returnType: Cc
    signature: "Cc UserAccess::setUserPrivilegeAccess(const uint8_t userId, const
      uint8_t chNum,\n                                      const UserPrivAccess&
      privAccess,\n                                      const bool& otherPrivUpdates)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::UserAccess::checkAndReloadUserData
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:839,1
    - Dst: safeUsernameString
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:845,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:853,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - ' userName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 858
      start: 835
    functionDepth: 1
    functionLinenumber: 835
    functionLinenumberEnd: 858
    functionName: ipmi::UserAccess::getUserId
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp
    functionUses: 0
    functionsReached:
    - safeUsernameString
    - ipmi::UserAccess::checkAndReloadUserData
    - lg2::debug
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t UserAccess::getUserId(const std::string& userName)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::UserAccess::isValidUserId
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:862,1
    - Dst: ipmi::UserAccess::getUserInfo
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:866,1
    - Dst: safeUsernameAssign
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:867,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - userId
    - ' userName'
    argTypes:
    - uint8_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 860
    functionDepth: 2
    functionLinenumber: 860
    functionLinenumberEnd: 869
    functionName: ipmi::UserAccess::getUserName
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp
    functionUses: 0
    functionsReached:
    - ipmi::UserAccess::getUserInfo
    - safeUsernameAssign
    - ipmi::UserAccess::isValidUserId
    linkageType: ''
    returnType: Cc
    signature: Cc UserAccess::getUserName(const uint8_t userId, std::string& userName)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::find
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:873,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:873,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:873,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:874,1
    - Dst: empty
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:878,1
    - Dst: ipmi::UserAccess::getSystemPrivAndGroups
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:881,1
    - Dst: std::find
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:882,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:882,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:882,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:883,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 871
    functionDepth: 1
    functionLinenumber: 871
    functionLinenumberEnd: 889
    functionName: ipmi::UserAccess::isIpmiInAvailableGroupList
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp
    functionUses: 0
    functionsReached:
    - ipmi::UserAccess::getSystemPrivAndGroups
    - std::find
    - end
    - begin
    - empty
    linkageType: ''
    returnType: bool
    signature: bool UserAccess::isIpmiInAvailableGroupList()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::UserAccess::isValidUserId
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:893,1
    - Dst: ipmi::UserAccess::getUserName
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:901,1
    - Dst: ipmi::UserAccess::isValidUserName
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:909,1
    - Dst: ipmi::UserAccess::getUserInfo
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:910,1
    - Dst: empty
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:911,1
    - Dst: std::string::empty
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:911,1
    - Dst: new_method_call
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:920,1
    - Dst: std::string::c_str
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:920,1
    - Dst: call
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:922,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:926,1
    - Dst: ipmi::UserAccess::deleteUserIndex
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:930,1
    - Dst: std::string::empty
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:932,1
    - Dst: empty
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:932,1
    - Dst: ipmi::UserAccess::isIpmiInAvailableGroupList
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:936,1
    - Dst: new_method_call
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:942,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:944,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:944,1
    - Dst: call
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:946,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:950,1
    - Dst: safeUsernameCopyToBuffer
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:955,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:962,1
    - Dst: new_method_call
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:971,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:973,1
    - Dst: std::string::c_str
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:973,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:973,1
    - Dst: call
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:974,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:978,1
    - Dst: safeUsernameCopyToBuffer
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:983,1
    - Dst: ipmiRenameUserEntryPassword
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:986,1
    - Dst: ipmi::UserAccess::writeUserData
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:995,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:999,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 54
    argCount: 2
    argNames:
    - userId
    - ' userName'
    argTypes:
    - uint8_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1003
      start: 891
    functionDepth: 3
    functionLinenumber: 891
    functionLinenumberEnd: 1003
    functionName: ipmi::UserAccess::setUserName
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp
    functionUses: 0
    functionsReached:
    - ipmi::UserAccess::deleteUserIndex
    - ipmi::UserAccess::isValidUserId
    - call
    - ipmi::UserAccess::isIpmiInAvailableGroupList
    - auto::append
    - ipmi::UserAccess::getUserName
    - std::string::c_str
    - lg2::debug
    - safeUsernameCopyToBuffer
    - c_str
    - static_cast<uint8_t>
    - ipmi::UserAccess::writeUserData
    - empty
    - ipmi::UserAccess::getUserInfo
    - ipmi::UserAccess::isValidUserName
    - std::string::empty
    - new_method_call
    - ipmiRenameUserEntryPassword
    linkageType: ''
    returnType: Cc
    signature: Cc UserAccess::setUserName(const uint8_t userId, const std::string&
      userName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Json::push_back
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1058,1
    - Dst: Json::object_t::value_type
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1058,1
    - Dst: std::ostringstream::str
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1059,1
    - Dst: Json::push_back
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1061,1
    - Dst: Json::object_t::value_type
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1061,1
    - Dst: std::ostringstream::str
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1062,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - "\n        stdPayload"
    - "\n        oemPayload"
    argTypes:
    - std::array<std::array<bool, ipmiMaxChannels>, payloadsPerByte>
    - std::array<std::array<bool, ipmiMaxChannels>, payloadsPerByte>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1065
      start: 1042
    functionDepth: 0
    functionLinenumber: 1042
    functionLinenumberEnd: 1065
    functionName: ipmi::constructJsonPayloadEnables
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp
    functionUses: 0
    functionsReached:
    - Json::push_back
    - Json::object_t::value_type
    - std::ostringstream::str
    linkageType: ''
    returnType: Json
    signature: "Json constructJsonPayloadEnables(\n    const std::array<std::array<bool,
      ipmiMaxChannels>, payloadsPerByte>&\n        stdPayload,\n    const std::array<std::array<bool,
      ipmiMaxChannels>, payloadsPerByte>&\n        oemPayload)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ' userInfo'
    - ' stdPayload'
    - ' oemPayload'
    argTypes:
    - UserInfo
    - std::array<std::array<bool, ipmiMaxChannels>, payloadsPerByte>
    - std::array<std::array<bool, ipmiMaxChannels>, payloadsPerByte>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 1067
    functionDepth: 0
    functionLinenumber: 1067
    functionLinenumberEnd: 1083
    functionName: ipmi::UserAccess::readPayloadAccessFromUserInfo
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void UserAccess::readPayloadAccessFromUserInfo(\n    const UserInfo&
      userInfo,\n    std::array<std::array<bool, ipmiMaxChannels>, payloadsPerByte>&
      stdPayload,\n    std::array<std::array<bool, ipmiMaxChannels>, payloadsPerByte>&
      oemPayload)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stdPayloadEnables1::reset
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1094,1
    - Dst: oemPayloadEnables1::reset
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1095,1
    - Dst: stdPayloadEnables2Reserved::reset
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1096,1
    - Dst: oemPayloadEnables2Reserved::reset
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1097,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1100,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - "\n        stdPayload"
    - ' userInfo'
    argTypes:
    - std::array<std::array<bool, ipmiMaxChannels>, payloadsPerByte>
    - UserInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 1085
    functionDepth: 0
    functionLinenumber: 1085
    functionLinenumberEnd: 1103
    functionName: ipmi::UserAccess::updatePayloadAccessInUserInfo
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp
    functionUses: 0
    functionsReached:
    - oemPayloadEnables2Reserved::reset
    - oemPayloadEnables1::reset
    - static_cast<uint8_t>
    - stdPayloadEnables1::reset
    - stdPayloadEnables2Reserved::reset
    linkageType: ''
    returnType: void
    signature: "void UserAccess::updatePayloadAccessInUserInfo(\n    const std::array<std::array<bool,
      ipmiMaxChannels>, payloadsPerByte>&\n        stdPayload,\n    const std::array<std::array<bool,
      ipmiMaxChannels>, payloadsPerByte>&,\n    UserInfo& userInfo)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::ifstream::good
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1111,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1113,1
    - Dst: std::ios_base::failure
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1114,1
    - Dst: Json::array
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1117,1
    - Dst: Json::parse
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1118,1
    - Dst: Json::size
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1120,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1122,1
    - Dst: std::runtime_error
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1123,1
    - Dst: Json::is_null
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1131,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1133,1
    - Dst: std::runtime_error
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1135,1
    - Dst: get
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1138,1
    - Dst: safeUsernameCopyToBuffer
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1141,1
    - Dst: get
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1146,1
    - Dst: get
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1148,1
    - Dst: get
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1150,1
    - Dst: get
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1152,1
    - Dst: Json::at
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1161,1
    - Dst: std::ostringstream::str
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1172,1
    - Dst: get
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1172,1
    - Dst: std::ostringstream::str
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1175,1
    - Dst: get
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1175,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1178,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1179,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1181,1
    - Dst: std::runtime_error
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1183,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1192,1
    - Dst: fill
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1192,1
    - Dst: std::vector::size
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1195,1
    - Dst: std::vector::size
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1196,1
    - Dst: std::vector::size
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1197,1
    - Dst: std::vector::size
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1198,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1200,1
    - Dst: std::runtime_error
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1202,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1208,1
    - Dst: ipmi::UserAccess::convertToIPMIPrivilege
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1209,1
    - Dst: ipmi::UserAccess::updatePayloadAccessInUserInfo
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1217,1
    - Dst: get
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1220,1
    - Dst: get
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1222,1
    - Dst: get
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1224,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1227,1
    - Dst: std::ifstream::close
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1228,1
    - Dst: ipmi::UserAccess::getUpdatedFileTime
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1230,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1232
      start: 1105
    functionDepth: 1
    functionLinenumber: 1105
    functionLinenumberEnd: 1232
    functionName: ipmi::UserAccess::readUserData
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp
    functionUses: 0
    functionsReached:
    - Json::is_null
    - std::ios_base::failure
    - ipmi::UserAccess::updatePayloadAccessInUserInfo
    - static_cast<uint8_t>
    - std::ostringstream::str
    - get
    - std::ifstream::good
    - std::ifstream::close
    - ipmi::UserAccess::getUpdatedFileTime
    - size
    - safeUsernameCopyToBuffer
    - std::runtime_error
    - lg2::debug
    - ipmi::UserAccess::convertToIPMIPrivilege
    - Json::size
    - lg2::error
    - Json::parse
    - Json::at
    - std::vector::size
    - fill
    - Json::array
    linkageType: ''
    returnType: void
    signature: void UserAccess::readUserData()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Json::array
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1239,1
    - Dst: safeUsernameString
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1245,1
    - Dst: ipmi::UserAccess::convertToSystemPrivilege
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1259,1
    - Dst: static_cast<CommandPrivilege>
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1259,1
    - Dst: ipmi::UserAccess::readPayloadAccessFromUserInfo
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1276,1
    - Dst: constructJsonPayloadEnables
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1279,1
    - Dst: Json::push_back
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1282,1
    - Dst: std::string
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1285,1
    - Dst: open
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1286,1
    - Dst: std::string::c_str
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1286,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1290,1
    - Dst: std::ios_base::failure
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1291,1
    - Dst: Json::dump
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1294,1
    - Dst: write
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1295,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1295,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1295,1
    - Dst: static_cast<ssize_t>
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1296,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1296,1
    - Dst: close
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1298,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1299,1
    - Dst: std::ios_base::failure
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1300,1
    - Dst: close
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1303,1
    - Dst: std::rename
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1305,1
    - Dst: std::string::c_str
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1305,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1307,1
    - Dst: std::runtime_error
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1308,1
    - Dst: ipmi::UserAccess::getUpdatedFileTime
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1311,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1313
      start: 1234
    functionDepth: 1
    functionLinenumber: 1234
    functionLinenumberEnd: 1313
    functionName: ipmi::UserAccess::writeUserData
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp
    functionUses: 5
    functionsReached:
    - std::rename
    - static_cast<CommandPrivilege>
    - std::ios_base::failure
    - close
    - c_str
    - std::string
    - Json::push_back
    - ipmi::UserAccess::getUpdatedFileTime
    - size
    - std::runtime_error
    - constructJsonPayloadEnables
    - safeUsernameString
    - lg2::error
    - open
    - write
    - ipmi::UserAccess::readPayloadAccessFromUserInfo
    - std::string::c_str
    - Json::dump
    - static_cast<ssize_t>
    - ipmi::UserAccess::convertToSystemPrivilege
    - Json::array
    linkageType: ''
    returnType: void
    signature: void UserAccess::writeUserData()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::UserAccess::getUsersTblPtr
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1318,1
    - Dst: safeUsernameString
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1324,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1327,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1340,1
    - Dst: safeUsernameCopyToBuffer
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1344,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1349,1
    - Dst: ipmi::UserAccess::convertToIPMIPrivilege
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1349,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 3
    argNames:
    - ' userName'
    - ' sysPriv'
    - ' enabled'
    argTypes:
    - std::string
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1363
      start: 1315
    functionDepth: 1
    functionLinenumber: 1315
    functionLinenumberEnd: 1363
    functionName: ipmi::UserAccess::addUserEntry
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp
    functionUses: 0
    functionsReached:
    - safeUsernameCopyToBuffer
    - static_cast<uint8_t>
    - ipmi::UserAccess::convertToIPMIPrivilege
    - ipmi::UserAccess::getUsersTblPtr
    - lg2::debug
    - safeUsernameString
    - lg2::error
    linkageType: ''
    returnType: bool
    signature: "bool UserAccess::addUserEntry(const std::string& userName,\n                              const
      std::string& sysPriv, const bool& enabled)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::UserAccess::getUsersTblPtr
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1367,1
    - Dst: safeUsernameString
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1369,1
    - Dst: ipmiClearUserEntryPassword
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1370,1
    - Dst: std::memset
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1371,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ' usrIdx'
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1383
      start: 1365
    functionDepth: 1
    functionLinenumber: 1365
    functionLinenumberEnd: 1383
    functionName: ipmi::UserAccess::deleteUserIndex
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp
    functionUses: 1
    functionsReached:
    - ipmiClearUserEntryPassword
    - safeUsernameString
    - ipmi::UserAccess::getUsersTblPtr
    - std::memset
    linkageType: ''
    returnType: void
    signature: void UserAccess::deleteUserIndex(const size_t& usrIdx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::UserAccess::getUpdatedFileTime
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1387,1
    - Dst: std::fill
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1392,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1392,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1393,1
    - Dst: ipmi::UserAccess::readUserData
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1394,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1397
      start: 1385
    functionDepth: 2
    functionLinenumber: 1385
    functionLinenumberEnd: 1397
    functionName: ipmi::UserAccess::checkAndReloadUserData
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp
    functionUses: 3
    functionsReached:
    - ipmi::UserAccess::getUpdatedFileTime
    - reinterpret_cast<uint8_t*>
    - std::fill
    - ipmi::UserAccess::readUserData
    linkageType: ''
    returnType: void
    signature: void UserAccess::checkAndReloadUserData()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::UserAccess::checkAndReloadUserData
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1404
      start: 1399
    functionDepth: 3
    functionLinenumber: 1399
    functionLinenumberEnd: 1404
    functionName: ipmi::UserAccess::getUsersTblPtr
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp
    functionUses: 2
    functionsReached:
    - ipmi::UserAccess::checkAndReloadUserData
    linkageType: ''
    returnType: UsersTbl
    signature: UsersTbl * UserAccess::getUsersTblPtr()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: new_method_call
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1411,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1414,1
    - Dst: call
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1416,1
    - Dst: auto::read
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1417,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1421,1
    - Dst: std::get<std::vector<std::string>>
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1430,1
    - Dst: std::get<std::vector<std::string>>
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1434,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1439
      start: 1406
    functionDepth: 0
    functionLinenumber: 1406
    functionLinenumberEnd: 1439
    functionName: ipmi::UserAccess::getSystemPrivAndGroups
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp
    functionUses: 2
    functionsReached:
    - call
    - auto::append
    - auto::read
    - lg2::debug
    - new_method_call
    - std::get<std::vector<std::string>>
    linkageType: ''
    returnType: void
    signature: void UserAccess::getSystemPrivAndGroups()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1444,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1446,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1450
      start: 1441
    functionDepth: 0
    functionLinenumber: 1441
    functionLinenumberEnd: 1450
    functionName: ipmi::UserAccess::getUpdatedFileTime
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp
    functionUses: 3
    functionsReached:
    - stat
    - lg2::debug
    linkageType: ''
    returnType: std::timespec
    signature: std::timespec UserAccess::getUpdatedFileTime()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::get<std::string>
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1461,1
    - Dst: std::get<std::vector<std::string>>
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1465,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1469,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - ' properties'
    - ' usrGrps'
    - ' usrPriv'
    - ' usrEnabled'
    argTypes:
    - DbusUserObjProperties
    - std::vector<std::string>
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1473
      start: 1452
    functionDepth: 0
    functionLinenumber: 1452
    functionLinenumberEnd: 1473
    functionName: ipmi::UserAccess::getUserProperties
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp
    functionUses: 0
    functionsReached:
    - std::get<std::vector<std::string>>
    - std::get<bool>
    - std::get<std::string>
    linkageType: ''
    returnType: void
    signature: "void UserAccess::getUserProperties(const DbusUserObjProperties& properties,\n
      \                                  std::vector<std::string>& usrGrps,\n                                   std::string&
      usrPriv, bool& usrEnabled)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1479,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1480,1
    - Dst: ipmi::UserAccess::getUserProperties
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1482,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - ' userObjs'
    - ' usrGrps'
    - ' usrPriv'
    - ' usrEnabled'
    argTypes:
    - DbusUserObjValue
    - std::vector<std::string>
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1486
      start: 1475
    functionDepth: 1
    functionLinenumber: 1475
    functionLinenumberEnd: 1486
    functionName: ipmi::UserAccess::getUserObjProperties
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp
    functionUses: 0
    functionsReached:
    - ipmi::UserAccess::getUserProperties
    - end
    - find
    linkageType: ''
    returnType: int
    signature: "int UserAccess::getUserObjProperties(const DbusUserObjValue& userObjs,\n
      \                                    std::vector<std::string>& usrGrps,\n                                     std::string&
      usrPriv, bool& usrEnabled)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::UserAccess::readUserData
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1494,1
    - Dst: std::fill
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1498,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1498,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1499,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1509,1
    - Dst: ipmi::UserAccess::writeUserData
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1513,1
    - Dst: open
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1516,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1520,1
    - Dst: std::ios_base::failure
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1521,1
    - Dst: close
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1524,1
    - Dst: boost::interprocess::file_lock
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1526,1
    - Dst: try_lock
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1529,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1531,1
    - Dst: std::make_unique<sdbusplus::bus::match_t>
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1532,1
    - Dst: sdbusplus::bus::match::rules::type::signal
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1534,1
    - Dst: get_type_from_interface
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1535,1
    - Dst: find_openbmc_path
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1536,1
    - Dst: userUpdatedSignalHandler
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1538,1
    - Dst: std::make_unique<sdbusplus::bus::match_t>
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1540,1
    - Dst: sdbusplus::bus::match::rules::type::signal
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1542,1
    - Dst: get_type_from_interface
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1543,1
    - Dst: find_openbmc_path
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1544,1
    - Dst: userUpdatedSignalHandler
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1546,1
    - Dst: std::make_unique<sdbusplus::bus::match_t>
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1548,1
    - Dst: sdbusplus::bus::match::rules::type::signal
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1550,1
    - Dst: sdbusplus::bus::match::rules::path_namespace
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1551,1
    - Dst: get_type_from_interface
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1552,1
    - Dst: sdbusplus::bus::match::rules::member
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1554,1
    - Dst: sdbusplus::bus::match::rules::argN
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1555,1
    - Dst: userUpdatedSignalHandler
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1557,1
    - Dst: new_method_call
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1565,1
    - Dst: call
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1567,1
    - Dst: auto::read
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1568,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1572,1
    - Dst: safeUsernameString
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1588,1
    - Dst: std::map::find
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1593,1
    - Dst: std::map::end
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1594,1
    - Dst: ipmi::UserAccess::getUserObjProperties
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1599,1
    - Dst: std::find
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1601,1
    - Dst: std::vector::begin
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1601,1
    - Dst: std::vector::end
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1601,1
    - Dst: std::vector::end
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1602,1
    - Dst: ipmi::UserAccess::deleteUserIndex
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1606,1
    - Dst: ipmi::UserAccess::convertToIPMIPrivilege
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1612,1
    - Dst: ipmi::UserAccess::getUsrMgmtSyncIndex
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1617,1
    - Dst: std::map::erase
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1637,1
    - Dst: ipmi::UserAccess::deleteUserIndex
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1642,1
    - Dst: std::string
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1654,1
    - Dst: getUserNameFromPath
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1655,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1657,1
    - Dst: ipmi::UserAccess::getUserObjProperties
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1660,1
    - Dst: std::find
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1662,1
    - Dst: std::vector::begin
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1662,1
    - Dst: std::vector::end
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1662,1
    - Dst: std::vector::end
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1663,1
    - Dst: ipmi::UserAccess::addUserEntry
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1667,1
    - Dst: ipmi::UserAccess::writeUserData
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1677,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 81
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1681
      start: 1488
    functionDepth: 2
    functionLinenumber: 1488
    functionLinenumberEnd: 1681
    functionName: ipmi::UserAccess::cacheUserDataFile
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp
    functionUses: 1
    functionsReached:
    - sdbusplus::bus::match::rules::argN
    - std::ios_base::failure
    - std::fill
    - getUserNameFromPath
    - static_cast<uint8_t>
    - get_type_from_interface
    - new_method_call
    - std::vector::end
    - ipmi::UserAccess::addUserEntry
    - ipmi::UserAccess::readUserData
    - close
    - try_lock
    - std::vector::begin
    - std::find
    - sdbusplus::bus::match::rules::path_namespace
    - std::string
    - std::map::erase
    - ipmi::UserAccess::deleteUserIndex
    - call
    - reinterpret_cast<uint8_t*>
    - ipmi::UserAccess::getUserObjProperties
    - lg2::debug
    - safeUsernameString
    - ipmi::UserAccess::convertToIPMIPrivilege
    - lg2::error
    - open
    - std::make_unique<sdbusplus::bus::match_t>
    - std::map::find
    - std::map::end
    - boost::interprocess::file_lock
    - userUpdatedSignalHandler
    - sdbusplus::bus::match::rules::type::signal
    - auto::read
    - ipmi::UserAccess::writeUserData
    - ipmi::UserAccess::getUsrMgmtSyncIndex
    - find_openbmc_path
    - sdbusplus::bus::match::rules::member
    linkageType: ''
    returnType: void
    signature: void UserAccess::cacheUserDataFile()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: init_priority
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:62,1
    - Dst: new_method_call
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:72,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:72,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:72,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:74,1
    - Dst: call
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:75,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 6
    argNames:
    - ' bus'
    - ' service'
    - ' objPath'
    - ' interface'
    - ' property'
    - ' value'
    argTypes:
    - sdbusplus::bus_t
    - std::string
    - std::string
    - std::string
    - std::string
    - DbusUserPropVariant
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 85
    functionName: ipmi::setDbusProperty
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp
    functionUses: 46
    functionsReached:
    - call
    - auto::append
    - c_str
    - new_method_call
    - init_priority
    - lg2::error
    linkageType: ''
    returnType: void
    signature: "void setDbusProperty(sdbusplus::bus_t& bus, const std::string& service,\n
      \                    const std::string& objPath, const std::string& interface,\n
      \                    const std::string& property,\n                     const
      DbusUserPropVariant& value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: ipmi::getUserAccessObject
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp
    functionUses: 28
    functionsReached: []
    linkageType: ''
    returnType: UserAccess
    signature: UserAccess & getUserAccessObject()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assign
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:96,1
    - Dst: sdbusplus::object_path::filename
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' path'
    - ' userName'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 98
    functionName: ipmi::getUserNameFromPath
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp
    functionUses: 1
    functionsReached:
    - assign
    - sdbusplus::object_path::filename
    linkageType: ''
    returnType: int
    signature: int getUserNameFromPath(const std::string& path, std::string& userName)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: getUsersTblPtr
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:104,1
    - Dst: addUserEntry
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:107,1
    - Dst: ipmi::safeUsernameString
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:119,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:127,1
    - Dst: deleteUserIndex
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:136,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:142,1
    - Dst: ipmi::UserAccess::convertToIPMIPrivilege
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:143,1
    - Dst: ipmi::UserAccess::getUsrMgmtSyncIndex
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:148,1
    - Dst: ipmi::safeUsernameCopyToBuffer
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:163,1
    - Dst: ipmi::ipmiRenameUserEntryPassword
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:166,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:176,1
    - Dst: writeUserData
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:182,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:183,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:185,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 46
    argCount: 6
    argNames:
    - ' usrAccess'
    - ' userEvent'
    - ' userName'
    - ' priv'
    - ' enabled'
    - ' newUserName'
    argTypes:
    - UserAccess
    - UserUpdateEvent
    - std::string
    - std::string
    - bool
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 188
    functionName: ipmi::userUpdateHelper
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp
    functionUses: 1
    functionsReached:
    - ipmi::safeUsernameCopyToBuffer
    - getUsersTblPtr
    - ipmi::ipmiRenameUserEntryPassword
    - deleteUserIndex
    - writeUserData
    - addUserEntry
    - c_str
    - ipmi::safeUsernameString
    - static_cast<uint8_t>
    - lg2::debug
    - ipmi::UserAccess::getUsrMgmtSyncIndex
    - ipmi::UserAccess::convertToIPMIPrivilege
    - lg2::error
    linkageType: ''
    returnType: void
    signature: "void userUpdateHelper(UserAccess& usrAccess, const UserUpdateEvent&
      userEvent,\n                      const std::string& userName, const std::string&
      priv,\n                      const bool& enabled, const std::string& newUserName)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: get_member
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:193,1
    - Dst: read
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:202,1
    - Dst: ipmi::getUserNameFromPath
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:203,1
    - Dst: getUserObjProperties
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:204,1
    - Dst: std::find
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:209,1
    - Dst: std::vector::begin
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:209,1
    - Dst: std::vector::end
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:209,1
    - Dst: std::vector::end
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:210,1
    - Dst: read
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:220,1
    - Dst: ipmi::getUserNameFromPath
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:221,1
    - Dst: read
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:226,1
    - Dst: ipmi::getUserNameFromPath
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:231,1
    - Dst: get_path
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:231,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:235,1
    - Dst: std::string::empty
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:239,1
    - Dst: std::string::empty
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:239,1
    - Dst: empty
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:240,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:242,1
    - Dst: checkAndReloadUserData
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:248,1
    - Dst: read
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:254,1
    - Dst: std::get<std::string>
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:261,1
    - Dst: std::get<std::vector<std::string>>
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:266,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:271,1
    - Dst: std::find
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:277,1
    - Dst: std::vector::begin
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:277,1
    - Dst: std::vector::end
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:277,1
    - Dst: std::vector::end
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:278,1
    - Dst: ipmi::userUpdateHelper
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:281,1
    - Dst: sdbusplus::bus_t::new_method_call
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:289,1
    - Dst: get_path
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:290,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:292,1
    - Dst: sdbusplus::bus_t::call
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:293,1
    - Dst: auto::read
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:294,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:298,1
    - Dst: get_path
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:300,1
    - Dst: getUserProperties
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:303,1
    - Dst: ipmi::userUpdateHelper
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:306,1
    - Dst: ipmi::userUpdateHelper
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:312,1
    - Dst: ipmi::userUpdateHelper
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:319,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 71
    argCount: 2
    argNames:
    - ' usrAccess'
    - ' msg'
    argTypes:
    - UserAccess
    - sdbusplus::message_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 323
    functionName: ipmi::userUpdatedSignalHandler
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp
    functionUses: 0
    functionsReached:
    - get_member
    - std::string::empty
    - std::vector::end
    - std::vector::begin
    - read
    - std::find
    - sdbusplus::bus_t::call
    - std::get<std::vector<std::string>>
    - get_path
    - auto::append
    - sdbusplus::bus_t::new_method_call
    - empty
    - lg2::debug
    - lg2::error
    - std::get<std::string>
    - ipmi::getUserNameFromPath
    - getUserObjProperties
    - getUserProperties
    - checkAndReloadUserData
    - std::get<bool>
    - ipmi::userUpdateHelper
    - auto::read
    linkageType: ''
    returnType: void
    signature: void userUpdatedSignalHandler(UserAccess& usrAccess, sdbusplus::message_t&
      msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:329,1
    - Dst: reset
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:330,1
    - Dst: reset
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:331,1
    - Dst: unlock
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:332,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 334
    functionName: UserAccess::~UserAccess()
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp
    functionUses: 0
    functionsReached:
    - unlock
    - reset
    linkageType: ''
    returnType: void
    signature: void UserAccess::~UserAccess()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ipmid_get_sd_bus_connection
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:336,1
    - Dst: std::ofstream::open
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:339,1
    - Dst: std::ofstream::good
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:341,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:343,1
    - Dst: std::ofstream::close
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:346,1
    - Dst: boost::interprocess::file_lock
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:347,1
    - Dst: try_lock
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:348,1
    - Dst: boost::interprocess::named_recursive_mutex::remove
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:350,1
    - Dst: lock_sharable
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:352,1
    - Dst: std::make_unique<boost::interprocess::named_recursive_mutex>
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:353,1
    - Dst: ipmi::UserAccess::cacheUserDataFile
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:356,1
    - Dst: ipmi::UserAccess::getSystemPrivAndGroups
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:357,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 336
    functionDepth: 3
    functionLinenumber: 336
    functionLinenumberEnd: 358
    functionName: ipmi::UserAccess::UserAccess
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp
    functionUses: 0
    functionsReached:
    - std::ofstream::open
    - std::ofstream::close
    - ipmid_get_sd_bus_connection
    - ipmi::UserAccess::cacheUserDataFile
    - ipmi::UserAccess::getSystemPrivAndGroups
    - lock_sharable
    - boost::interprocess::named_recursive_mutex::remove
    - lg2::debug
    - try_lock
    - std::ofstream::good
    - std::make_unique<boost::interprocess::named_recursive_mutex>
    - boost::interprocess::file_lock
    linkageType: ''
    returnType: void
    signature: void UserAccess::UserAccess()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::UserAccess::checkAndReloadUserData
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - userId
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 360
    functionDepth: 3
    functionLinenumber: 360
    functionLinenumberEnd: 364
    functionName: ipmi::UserAccess::getUserInfo
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp
    functionUses: 5
    functionsReached:
    - ipmi::UserAccess::checkAndReloadUserData
    linkageType: ''
    returnType: UserInfo
    signature: UserInfo * UserAccess::getUserInfo(const uint8_t userId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::UserAccess::checkAndReloadUserData
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:368,1
    - Dst: std::copy
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:369,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:369,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:370,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:371,1
    - Dst: ipmi::UserAccess::writeUserData
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - userId
    - userInfo
    argTypes:
    - uint8_t
    - UserInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 366
    functionDepth: 3
    functionLinenumber: 366
    functionLinenumberEnd: 373
    functionName: ipmi::UserAccess::setUserInfo
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp
    functionUses: 0
    functionsReached:
    - ipmi::UserAccess::writeUserData
    - reinterpret_cast<uint8_t*>
    - std::copy
    - ipmi::UserAccess::checkAndReloadUserData
    linkageType: ''
    returnType: void
    signature: void UserAccess::setUserInfo(const uint8_t userId, UserInfo* userInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - chNum
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 378
    functionName: ipmi::UserAccess::isValidChannel
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool UserAccess::isValidChannel(const uint8_t chNum)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - userId
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 383
    functionName: ipmi::UserAccess::isValidUserId
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool UserAccess::isValidUserId(const uint8_t userId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isValidPrivLimit
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - priv
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 389
    functionName: ipmi::UserAccess::isValidPrivilege
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp
    functionUses: 2
    functionsReached:
    - isValidPrivLimit
    linkageType: ''
    returnType: bool
    signature: bool UserAccess::isValidPrivilege(const uint8_t priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getChannelConfigObject
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 402
    functionName: ipmi::UserAccess::getUsrMgmtSyncIndex
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp
    functionUses: 4
    functionsReached:
    - getChannelConfigObject
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t UserAccess::getUsrMgmtSyncIndex()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::find
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:406,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:406,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:406,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:407,1
    - Dst: static_cast<CommandPrivilege>
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:411,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:413,1
    - Dst: std::out_of_range
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:415,1
    - Dst: static_cast<CommandPrivilege>
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:419,1
    - Dst: std::distance
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:420,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:420,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 422
    functionName: ipmi::UserAccess::convertToIPMIPrivilege
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp
    functionUses: 5
    functionsReached:
    - std::out_of_range
    - std::find
    - static_cast<CommandPrivilege>
    - end
    - begin
    - std::distance
    - lg2::error
    linkageType: ''
    returnType: CommandPrivilege
    signature: CommandPrivilege UserAccess::convertToIPMIPrivilege(const std::string&
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<CommandPrivilege>
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:426,1
    - Dst: at
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:432,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:436,1
    - Dst: std::out_of_range
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:438,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - CommandPrivilege
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 440
    functionName: ipmi::UserAccess::convertToSystemPrivilege
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp
    functionUses: 2
    functionsReached:
    - static_cast<CommandPrivilege>
    - std::out_of_range
    - lg2::error
    - at
    linkageType: ''
    returnType: std::string
    signature: std::string UserAccess::convertToSystemPrivilege(const CommandPrivilege&
      value)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:444,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:446,1
    - Dst: std::regex_match
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:449,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:449,1
    - Dst: std::regex
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:450,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:452,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:457,1
    - Dst: new_method_call
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:464,1
    - Dst: call
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:466,1
    - Dst: auto::read
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:467,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:471,1
    - Dst: std::map::find
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:480,1
    - Dst: std::map::end
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:480,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:482,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - ' userName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 488
    functionName: ipmi::UserAccess::isValidUserName
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp
    functionUses: 1
    functionsReached:
    - std::map::end
    - std::map::find
    - call
    - std::regex
    - lg2::debug
    - c_str
    - auto::read
    - empty
    - std::regex_match
    - lg2::error
    - new_method_call
    linkageType: ''
    returnType: bool
    signature: bool UserAccess::isValidUserName(const std::string& userName)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<char*>
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:527,1
    - Dst: std::strlen
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:528,1
    - Dst: reinterpret_cast<char*>
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:535,1
    - Dst: malloc
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:535,1
    - Dst: calloc
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:542,1
    - Dst: static_cast<size_t>
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:542,1
    - Dst: free
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:545,1
    - Dst: std::strncpy
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:549,1
    - Dst: reinterpret_cast<pam_response*>
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:551,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 4
    argNames:
    - numMsg
    - msg
    - resp
    - appdataPtr
    argTypes:
    - int
    - struct pam_message**
    - struct pam_response**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 558
    functionName: ipmi::pamFunctionConversation
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp
    functionUses: 0
    functionsReached:
    - std::strncpy
    - static_cast<size_t>
    - malloc
    - reinterpret_cast<char*>
    - std::strlen
    - free
    - calloc
    - reinterpret_cast<pam_response*>
    linkageType: ''
    returnType: int
    signature: "int pamFunctionConversation(int numMsg, const struct pam_message**
      msg,\n                                   struct pam_response** resp, void* appdataPtr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<char*>
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:572,1
    - Dst: pam_start
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:576,1
    - Dst: pam_chauthtok
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:583,1
    - Dst: pam_end
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:586,1
    - Dst: pam_end
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:590,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - username
    - password
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 591
    functionName: ipmi::pamUpdatePasswd
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp
    functionUses: 0
    functionsReached:
    - pam_end
    - const_cast<char*>
    - pam_start
    - pam_chauthtok
    linkageType: ''
    returnType: int
    signature: int pamUpdatePasswd(const char* username, const char* password)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<char*>
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:597,1
    - Dst: std::string_view::data
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:597,1
    - Dst: pam_start
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:601,1
    - Dst: std::string_view::data
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:601,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:604,1
    - Dst: pam_authenticate
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:608,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:613,1
    - Dst: pam_end
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:616,1
    - Dst: pam_acct_mgmt
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:620,1
    - Dst: pam_end
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:623,1
    - Dst: pam_end
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:627,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - username
    - password
    argTypes:
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 632
    functionName: ipmi::pamUserCheckAuthenticate
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp
    functionUses: 2
    functionsReached:
    - pam_end
    - std::string_view::data
    - pam_start
    - pam_acct_mgmt
    - lg2::debug
    - lg2::error
    - const_cast<char*>
    - pam_authenticate
    linkageType: ''
    returnType: bool
    signature: "bool pamUserCheckAuthenticate(std::string_view username,\n                              std::string_view
      password)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pamUpdatePasswd
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:637,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:637,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:637,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:639,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' userName'
    - ' userPassword'
    argTypes:
    - std::string
    - SecureString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 643
    functionName: ipmi::UserAccess::setSpecialUserPassword
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp
    functionUses: 0
    functionsReached:
    - pamUpdatePasswd
    - c_str
    - lg2::debug
    linkageType: ''
    returnType: Cc
    signature: "Cc UserAccess::setSpecialUserPassword(const std::string& userName,\n
      \                                     const SecureString& userPassword)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ipmiUserGetUserName
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:648,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:650,1
    - Dst: ipmi::SecureString::SecureString
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:655,1
    - Dst: strnlen
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:656,1
    - Dst: ipmi::SecureString::assign
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:657,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:657,1
    - Dst: pamUpdatePasswd
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:658,1
    - Dst: std::string::c_str
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:658,1
    - Dst: ipmi::SecureString::c_str
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:658,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:668,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:673,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 2
    argNames:
    - userId
    - userPassword
    argTypes:
    - uint8_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 645
    functionDepth: 1
    functionLinenumber: 645
    functionLinenumberEnd: 678
    functionName: ipmi::UserAccess::setUserPassword
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp
    functionUses: 0
    functionsReached:
    - pamUpdatePasswd
    - std::string::c_str
    - strnlen
    - ipmi::SecureString::SecureString
    - ipmiUserGetUserName
    - ipmi::SecureString::assign
    - ipmi::SecureString::c_str
    - lg2::debug
    - reinterpret_cast<const char*>
    linkageType: ''
    returnType: Cc
    signature: Cc UserAccess::setUserPassword(const uint8_t userId, const char* userPassword)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::UserAccess::isValidUserId
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:683,1
    - Dst: ipmi::UserAccess::getUserInfo
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:689,1
    - Dst: safeUsernameAssign
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:692,1
    - Dst: std::string::empty
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:694,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:696,1
    - Dst: setDbusProperty
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:704,1
    - Dst: ipmi::UserAccess::writeUserData
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:709,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:713,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - userId
    - ' enabledState'
    argTypes:
    - uint8_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 680
    functionDepth: 2
    functionLinenumber: 680
    functionLinenumberEnd: 718
    functionName: ipmi::UserAccess::setUserEnabledState
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp
    functionUses: 0
    functionsReached:
    - ipmi::UserAccess::isValidUserId
    - safeUsernameAssign
    - ipmi::UserAccess::writeUserData
    - lg2::debug
    - ipmi::UserAccess::getUserInfo
    - setDbusProperty
    - std::string::empty
    linkageType: ''
    returnType: Cc
    signature: "Cc UserAccess::setUserEnabledState(const uint8_t userId,\n                                   const
      bool& enabledState)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::UserAccess::isValidChannel
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:727,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:729,1
    - Dst: ipmi::UserAccess::isValidUserId
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:734,1
    - Dst: ipmi::UserAccess::getUserInfo
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:745,1
    - Dst: ipmi::UserAccess::writeUserData
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:766,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:770,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 4
    argNames:
    - chNum
    - operation
    - userId
    - ' payloadAccess'
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t
    - PayloadAccess
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 720
    functionDepth: 2
    functionLinenumber: 720
    functionLinenumberEnd: 774
    functionName: ipmi::UserAccess::setUserPayloadAccess
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp
    functionUses: 0
    functionsReached:
    - ipmi::UserAccess::isValidUserId
    - ipmi::UserAccess::isValidChannel
    - ipmi::UserAccess::writeUserData
    - lg2::debug
    - ipmi::UserAccess::getUserInfo
    - lg2::error
    linkageType: ''
    returnType: Cc
    signature: "Cc UserAccess::setUserPayloadAccess(\n    const uint8_t chNum, const
      uint8_t operation, const uint8_t userId,\n    const PayloadAccess& payloadAccess)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::UserAccess::isValidChannel
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:780,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:782,1
    - Dst: ipmi::UserAccess::isValidUserId
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:787,1
    - Dst: ipmi::UserAccess::getUserInfo
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:793,1
    - Dst: safeUsernameAssign
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:795,1
    - Dst: std::string::empty
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:796,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:798,1
    - Dst: ipmi::UserAccess::convertToSystemPrivilege
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:801,1
    - Dst: static_cast<CommandPrivilege>
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:802,1
    - Dst: ipmi::UserAccess::getUsrMgmtSyncIndex
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:803,1
    - Dst: setDbusProperty
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:810,1
    - Dst: ipmi::UserAccess::writeUserData
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:825,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:829,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 4
    argNames:
    - userId
    - chNum
    - ' privAccess'
    - ' otherPrivUpdates'
    argTypes:
    - uint8_t
    - uint8_t
    - UserPrivAccess
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 833
      start: 776
    functionDepth: 2
    functionLinenumber: 776
    functionLinenumberEnd: 833
    functionName: ipmi::UserAccess::setUserPrivilegeAccess
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp
    functionUses: 0
    functionsReached:
    - ipmi::UserAccess::isValidUserId
    - ipmi::UserAccess::isValidChannel
    - static_cast<CommandPrivilege>
    - safeUsernameAssign
    - ipmi::UserAccess::getUsrMgmtSyncIndex
    - ipmi::UserAccess::writeUserData
    - ipmi::UserAccess::convertToSystemPrivilege
    - lg2::debug
    - ipmi::UserAccess::getUserInfo
    - setDbusProperty
    - std::string::empty
    linkageType: ''
    returnType: Cc
    signature: "Cc UserAccess::setUserPrivilegeAccess(const uint8_t userId, const
      uint8_t chNum,\n                                      const UserPrivAccess&
      privAccess,\n                                      const bool& otherPrivUpdates)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::UserAccess::checkAndReloadUserData
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:839,1
    - Dst: safeUsernameString
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:845,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:853,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - ' userName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 858
      start: 835
    functionDepth: 3
    functionLinenumber: 835
    functionLinenumberEnd: 858
    functionName: ipmi::UserAccess::getUserId
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp
    functionUses: 0
    functionsReached:
    - safeUsernameString
    - ipmi::UserAccess::checkAndReloadUserData
    - lg2::debug
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t UserAccess::getUserId(const std::string& userName)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::UserAccess::isValidUserId
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:862,1
    - Dst: ipmi::UserAccess::getUserInfo
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:866,1
    - Dst: safeUsernameAssign
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:867,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - userId
    - ' userName'
    argTypes:
    - uint8_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 860
    functionDepth: 2
    functionLinenumber: 860
    functionLinenumberEnd: 869
    functionName: ipmi::UserAccess::getUserName
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp
    functionUses: 1
    functionsReached:
    - ipmi::UserAccess::getUserInfo
    - safeUsernameAssign
    - ipmi::UserAccess::isValidUserId
    linkageType: ''
    returnType: Cc
    signature: Cc UserAccess::getUserName(const uint8_t userId, std::string& userName)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::find
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:873,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:873,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:873,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:874,1
    - Dst: empty
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:878,1
    - Dst: ipmi::UserAccess::getSystemPrivAndGroups
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:881,1
    - Dst: std::find
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:882,1
    - Dst: begin
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:882,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:882,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:883,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 871
    functionDepth: 1
    functionLinenumber: 871
    functionLinenumberEnd: 889
    functionName: ipmi::UserAccess::isIpmiInAvailableGroupList
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp
    functionUses: 1
    functionsReached:
    - ipmi::UserAccess::getSystemPrivAndGroups
    - std::find
    - end
    - begin
    - empty
    linkageType: ''
    returnType: bool
    signature: bool UserAccess::isIpmiInAvailableGroupList()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::UserAccess::isValidUserId
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:893,1
    - Dst: ipmi::UserAccess::getUserName
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:901,1
    - Dst: ipmi::UserAccess::isValidUserName
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:909,1
    - Dst: ipmi::UserAccess::getUserInfo
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:910,1
    - Dst: empty
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:911,1
    - Dst: std::string::empty
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:911,1
    - Dst: new_method_call
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:920,1
    - Dst: std::string::c_str
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:920,1
    - Dst: call
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:922,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:926,1
    - Dst: ipmi::UserAccess::deleteUserIndex
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:930,1
    - Dst: std::string::empty
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:932,1
    - Dst: empty
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:932,1
    - Dst: ipmi::UserAccess::isIpmiInAvailableGroupList
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:936,1
    - Dst: new_method_call
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:942,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:944,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:944,1
    - Dst: call
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:946,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:950,1
    - Dst: safeUsernameCopyToBuffer
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:955,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:962,1
    - Dst: new_method_call
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:971,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:973,1
    - Dst: std::string::c_str
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:973,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:973,1
    - Dst: call
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:974,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:978,1
    - Dst: safeUsernameCopyToBuffer
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:983,1
    - Dst: ipmiRenameUserEntryPassword
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:986,1
    - Dst: ipmi::UserAccess::writeUserData
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:995,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:999,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 54
    argCount: 2
    argNames:
    - userId
    - ' userName'
    argTypes:
    - uint8_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1003
      start: 891
    functionDepth: 3
    functionLinenumber: 891
    functionLinenumberEnd: 1003
    functionName: ipmi::UserAccess::setUserName
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp
    functionUses: 0
    functionsReached:
    - ipmi::UserAccess::deleteUserIndex
    - ipmi::UserAccess::isValidUserId
    - call
    - ipmi::UserAccess::isIpmiInAvailableGroupList
    - auto::append
    - ipmi::UserAccess::getUserName
    - std::string::c_str
    - lg2::debug
    - safeUsernameCopyToBuffer
    - c_str
    - static_cast<uint8_t>
    - ipmi::UserAccess::writeUserData
    - empty
    - ipmi::UserAccess::getUserInfo
    - ipmi::UserAccess::isValidUserName
    - std::string::empty
    - new_method_call
    - ipmiRenameUserEntryPassword
    linkageType: ''
    returnType: Cc
    signature: Cc UserAccess::setUserName(const uint8_t userId, const std::string&
      userName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Json::push_back
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1058,1
    - Dst: Json::object_t::value_type
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1058,1
    - Dst: std::ostringstream::str
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1059,1
    - Dst: Json::push_back
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1061,1
    - Dst: Json::object_t::value_type
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1061,1
    - Dst: std::ostringstream::str
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1062,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - "\n        stdPayload"
    - "\n        oemPayload"
    argTypes:
    - std::array<std::array<bool, ipmiMaxChannels>, payloadsPerByte>
    - std::array<std::array<bool, ipmiMaxChannels>, payloadsPerByte>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1065
      start: 1042
    functionDepth: 0
    functionLinenumber: 1042
    functionLinenumberEnd: 1065
    functionName: ipmi::constructJsonPayloadEnables
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp
    functionUses: 0
    functionsReached:
    - Json::push_back
    - Json::object_t::value_type
    - std::ostringstream::str
    linkageType: ''
    returnType: Json
    signature: "Json constructJsonPayloadEnables(\n    const std::array<std::array<bool,
      ipmiMaxChannels>, payloadsPerByte>&\n        stdPayload,\n    const std::array<std::array<bool,
      ipmiMaxChannels>, payloadsPerByte>&\n        oemPayload)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ' userInfo'
    - ' stdPayload'
    - ' oemPayload'
    argTypes:
    - UserInfo
    - std::array<std::array<bool, ipmiMaxChannels>, payloadsPerByte>
    - std::array<std::array<bool, ipmiMaxChannels>, payloadsPerByte>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 1067
    functionDepth: 0
    functionLinenumber: 1067
    functionLinenumberEnd: 1083
    functionName: ipmi::UserAccess::readPayloadAccessFromUserInfo
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void UserAccess::readPayloadAccessFromUserInfo(\n    const UserInfo&
      userInfo,\n    std::array<std::array<bool, ipmiMaxChannels>, payloadsPerByte>&
      stdPayload,\n    std::array<std::array<bool, ipmiMaxChannels>, payloadsPerByte>&
      oemPayload)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stdPayloadEnables1::reset
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1094,1
    - Dst: oemPayloadEnables1::reset
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1095,1
    - Dst: stdPayloadEnables2Reserved::reset
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1096,1
    - Dst: oemPayloadEnables2Reserved::reset
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1097,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1100,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - "\n        stdPayload"
    - ' userInfo'
    argTypes:
    - std::array<std::array<bool, ipmiMaxChannels>, payloadsPerByte>
    - UserInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 1085
    functionDepth: 0
    functionLinenumber: 1085
    functionLinenumberEnd: 1103
    functionName: ipmi::UserAccess::updatePayloadAccessInUserInfo
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp
    functionUses: 1
    functionsReached:
    - oemPayloadEnables2Reserved::reset
    - oemPayloadEnables1::reset
    - static_cast<uint8_t>
    - stdPayloadEnables1::reset
    - stdPayloadEnables2Reserved::reset
    linkageType: ''
    returnType: void
    signature: "void UserAccess::updatePayloadAccessInUserInfo(\n    const std::array<std::array<bool,
      ipmiMaxChannels>, payloadsPerByte>&\n        stdPayload,\n    const std::array<std::array<bool,
      ipmiMaxChannels>, payloadsPerByte>&,\n    UserInfo& userInfo)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::ifstream::good
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1111,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1113,1
    - Dst: std::ios_base::failure
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1114,1
    - Dst: Json::array
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1117,1
    - Dst: Json::parse
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1118,1
    - Dst: Json::size
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1120,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1122,1
    - Dst: std::runtime_error
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1123,1
    - Dst: Json::is_null
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1131,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1133,1
    - Dst: std::runtime_error
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1135,1
    - Dst: get
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1138,1
    - Dst: safeUsernameCopyToBuffer
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1141,1
    - Dst: get
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1146,1
    - Dst: get
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1148,1
    - Dst: get
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1150,1
    - Dst: get
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1152,1
    - Dst: Json::at
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1161,1
    - Dst: std::ostringstream::str
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1172,1
    - Dst: get
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1172,1
    - Dst: std::ostringstream::str
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1175,1
    - Dst: get
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1175,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1178,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1179,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1181,1
    - Dst: std::runtime_error
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1183,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1192,1
    - Dst: fill
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1192,1
    - Dst: std::vector::size
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1195,1
    - Dst: std::vector::size
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1196,1
    - Dst: std::vector::size
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1197,1
    - Dst: std::vector::size
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1198,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1200,1
    - Dst: std::runtime_error
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1202,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1208,1
    - Dst: ipmi::UserAccess::convertToIPMIPrivilege
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1209,1
    - Dst: ipmi::UserAccess::updatePayloadAccessInUserInfo
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1217,1
    - Dst: get
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1220,1
    - Dst: get
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1222,1
    - Dst: get
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1224,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1227,1
    - Dst: std::ifstream::close
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1228,1
    - Dst: ipmi::UserAccess::getUpdatedFileTime
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1230,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1232
      start: 1105
    functionDepth: 1
    functionLinenumber: 1105
    functionLinenumberEnd: 1232
    functionName: ipmi::UserAccess::readUserData
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp
    functionUses: 2
    functionsReached:
    - Json::is_null
    - std::ios_base::failure
    - ipmi::UserAccess::updatePayloadAccessInUserInfo
    - static_cast<uint8_t>
    - std::ostringstream::str
    - get
    - std::ifstream::good
    - std::ifstream::close
    - ipmi::UserAccess::getUpdatedFileTime
    - size
    - safeUsernameCopyToBuffer
    - std::runtime_error
    - lg2::debug
    - ipmi::UserAccess::convertToIPMIPrivilege
    - Json::size
    - lg2::error
    - Json::parse
    - Json::at
    - std::vector::size
    - fill
    - Json::array
    linkageType: ''
    returnType: void
    signature: void UserAccess::readUserData()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Json::array
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1239,1
    - Dst: safeUsernameString
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1245,1
    - Dst: ipmi::UserAccess::convertToSystemPrivilege
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1259,1
    - Dst: static_cast<CommandPrivilege>
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1259,1
    - Dst: ipmi::UserAccess::readPayloadAccessFromUserInfo
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1276,1
    - Dst: constructJsonPayloadEnables
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1279,1
    - Dst: Json::push_back
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1282,1
    - Dst: std::string
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1285,1
    - Dst: open
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1286,1
    - Dst: std::string::c_str
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1286,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1290,1
    - Dst: std::ios_base::failure
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1291,1
    - Dst: Json::dump
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1294,1
    - Dst: write
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1295,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1295,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1295,1
    - Dst: static_cast<ssize_t>
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1296,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1296,1
    - Dst: close
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1298,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1299,1
    - Dst: std::ios_base::failure
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1300,1
    - Dst: close
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1303,1
    - Dst: std::rename
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1305,1
    - Dst: std::string::c_str
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1305,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1307,1
    - Dst: std::runtime_error
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1308,1
    - Dst: ipmi::UserAccess::getUpdatedFileTime
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1311,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1313
      start: 1234
    functionDepth: 1
    functionLinenumber: 1234
    functionLinenumberEnd: 1313
    functionName: ipmi::UserAccess::writeUserData
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp
    functionUses: 11
    functionsReached:
    - std::rename
    - static_cast<CommandPrivilege>
    - std::ios_base::failure
    - close
    - c_str
    - std::string
    - Json::push_back
    - ipmi::UserAccess::getUpdatedFileTime
    - size
    - std::runtime_error
    - constructJsonPayloadEnables
    - safeUsernameString
    - lg2::error
    - open
    - write
    - ipmi::UserAccess::readPayloadAccessFromUserInfo
    - std::string::c_str
    - Json::dump
    - static_cast<ssize_t>
    - ipmi::UserAccess::convertToSystemPrivilege
    - Json::array
    linkageType: ''
    returnType: void
    signature: void UserAccess::writeUserData()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::UserAccess::getUsersTblPtr
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1318,1
    - Dst: safeUsernameString
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1324,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1327,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1340,1
    - Dst: safeUsernameCopyToBuffer
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1344,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1349,1
    - Dst: ipmi::UserAccess::convertToIPMIPrivilege
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1349,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 3
    argNames:
    - ' userName'
    - ' sysPriv'
    - ' enabled'
    argTypes:
    - std::string
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1363
      start: 1315
    functionDepth: 4
    functionLinenumber: 1315
    functionLinenumberEnd: 1363
    functionName: ipmi::UserAccess::addUserEntry
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp
    functionUses: 1
    functionsReached:
    - safeUsernameCopyToBuffer
    - static_cast<uint8_t>
    - ipmi::UserAccess::convertToIPMIPrivilege
    - ipmi::UserAccess::getUsersTblPtr
    - lg2::debug
    - safeUsernameString
    - lg2::error
    linkageType: ''
    returnType: bool
    signature: "bool UserAccess::addUserEntry(const std::string& userName,\n                              const
      std::string& sysPriv, const bool& enabled)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::UserAccess::getUsersTblPtr
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1367,1
    - Dst: safeUsernameString
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1369,1
    - Dst: ipmiClearUserEntryPassword
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1370,1
    - Dst: std::memset
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1371,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ' usrIdx'
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1383
      start: 1365
    functionDepth: 4
    functionLinenumber: 1365
    functionLinenumberEnd: 1383
    functionName: ipmi::UserAccess::deleteUserIndex
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp
    functionUses: 3
    functionsReached:
    - ipmiClearUserEntryPassword
    - safeUsernameString
    - ipmi::UserAccess::getUsersTblPtr
    - std::memset
    linkageType: ''
    returnType: void
    signature: void UserAccess::deleteUserIndex(const size_t& usrIdx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::UserAccess::getUpdatedFileTime
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1387,1
    - Dst: std::fill
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1392,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1392,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1393,1
    - Dst: ipmi::UserAccess::readUserData
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1394,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1397
      start: 1385
    functionDepth: 2
    functionLinenumber: 1385
    functionLinenumberEnd: 1397
    functionName: ipmi::UserAccess::checkAndReloadUserData
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp
    functionUses: 7
    functionsReached:
    - ipmi::UserAccess::getUpdatedFileTime
    - reinterpret_cast<uint8_t*>
    - std::fill
    - ipmi::UserAccess::readUserData
    linkageType: ''
    returnType: void
    signature: void UserAccess::checkAndReloadUserData()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::UserAccess::checkAndReloadUserData
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1404
      start: 1399
    functionDepth: 3
    functionLinenumber: 1399
    functionLinenumberEnd: 1404
    functionName: ipmi::UserAccess::getUsersTblPtr
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp
    functionUses: 4
    functionsReached:
    - ipmi::UserAccess::checkAndReloadUserData
    linkageType: ''
    returnType: UsersTbl
    signature: UsersTbl * UserAccess::getUsersTblPtr()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: new_method_call
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1411,1
    - Dst: auto::append
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1414,1
    - Dst: call
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1416,1
    - Dst: auto::read
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1417,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1421,1
    - Dst: std::get<std::vector<std::string>>
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1430,1
    - Dst: std::get<std::vector<std::string>>
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1434,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1439
      start: 1406
    functionDepth: 0
    functionLinenumber: 1406
    functionLinenumberEnd: 1439
    functionName: ipmi::UserAccess::getSystemPrivAndGroups
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp
    functionUses: 4
    functionsReached:
    - call
    - auto::append
    - auto::read
    - lg2::debug
    - new_method_call
    - std::get<std::vector<std::string>>
    linkageType: ''
    returnType: void
    signature: void UserAccess::getSystemPrivAndGroups()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1444,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1446,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1450
      start: 1441
    functionDepth: 0
    functionLinenumber: 1441
    functionLinenumberEnd: 1450
    functionName: ipmi::UserAccess::getUpdatedFileTime
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp
    functionUses: 6
    functionsReached:
    - stat
    - lg2::debug
    linkageType: ''
    returnType: std::timespec
    signature: std::timespec UserAccess::getUpdatedFileTime()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::get<std::string>
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1461,1
    - Dst: std::get<std::vector<std::string>>
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1465,1
    - Dst: std::get<bool>
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1469,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - ' properties'
    - ' usrGrps'
    - ' usrPriv'
    - ' usrEnabled'
    argTypes:
    - DbusUserObjProperties
    - std::vector<std::string>
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1473
      start: 1452
    functionDepth: 0
    functionLinenumber: 1452
    functionLinenumberEnd: 1473
    functionName: ipmi::UserAccess::getUserProperties
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp
    functionUses: 1
    functionsReached:
    - std::get<std::vector<std::string>>
    - std::get<bool>
    - std::get<std::string>
    linkageType: ''
    returnType: void
    signature: "void UserAccess::getUserProperties(const DbusUserObjProperties& properties,\n
      \                                  std::vector<std::string>& usrGrps,\n                                   std::string&
      usrPriv, bool& usrEnabled)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1479,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1480,1
    - Dst: ipmi::UserAccess::getUserProperties
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1482,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - ' userObjs'
    - ' usrGrps'
    - ' usrPriv'
    - ' usrEnabled'
    argTypes:
    - DbusUserObjValue
    - std::vector<std::string>
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1486
      start: 1475
    functionDepth: 1
    functionLinenumber: 1475
    functionLinenumberEnd: 1486
    functionName: ipmi::UserAccess::getUserObjProperties
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp
    functionUses: 1
    functionsReached:
    - ipmi::UserAccess::getUserProperties
    - end
    - find
    linkageType: ''
    returnType: int
    signature: "int UserAccess::getUserObjProperties(const DbusUserObjValue& userObjs,\n
      \                                    std::vector<std::string>& usrGrps,\n                                     std::string&
      usrPriv, bool& usrEnabled)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::UserAccess::readUserData
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1494,1
    - Dst: std::fill
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1498,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1498,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1499,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1509,1
    - Dst: ipmi::UserAccess::writeUserData
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1513,1
    - Dst: open
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1516,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1520,1
    - Dst: std::ios_base::failure
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1521,1
    - Dst: close
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1524,1
    - Dst: boost::interprocess::file_lock
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1526,1
    - Dst: try_lock
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1529,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1531,1
    - Dst: std::make_unique<sdbusplus::bus::match_t>
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1532,1
    - Dst: sdbusplus::bus::match::rules::type::signal
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1534,1
    - Dst: get_type_from_interface
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1535,1
    - Dst: find_openbmc_path
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1536,1
    - Dst: userUpdatedSignalHandler
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1538,1
    - Dst: std::make_unique<sdbusplus::bus::match_t>
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1540,1
    - Dst: sdbusplus::bus::match::rules::type::signal
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1542,1
    - Dst: get_type_from_interface
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1543,1
    - Dst: find_openbmc_path
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1544,1
    - Dst: userUpdatedSignalHandler
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1546,1
    - Dst: std::make_unique<sdbusplus::bus::match_t>
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1548,1
    - Dst: sdbusplus::bus::match::rules::type::signal
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1550,1
    - Dst: sdbusplus::bus::match::rules::path_namespace
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1551,1
    - Dst: get_type_from_interface
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1552,1
    - Dst: sdbusplus::bus::match::rules::member
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1554,1
    - Dst: sdbusplus::bus::match::rules::argN
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1555,1
    - Dst: userUpdatedSignalHandler
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1557,1
    - Dst: new_method_call
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1565,1
    - Dst: call
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1567,1
    - Dst: auto::read
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1568,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1572,1
    - Dst: safeUsernameString
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1588,1
    - Dst: std::map::find
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1593,1
    - Dst: std::map::end
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1594,1
    - Dst: ipmi::UserAccess::getUserObjProperties
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1599,1
    - Dst: std::find
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1601,1
    - Dst: std::vector::begin
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1601,1
    - Dst: std::vector::end
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1601,1
    - Dst: std::vector::end
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1602,1
    - Dst: ipmi::UserAccess::deleteUserIndex
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1606,1
    - Dst: ipmi::UserAccess::convertToIPMIPrivilege
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1612,1
    - Dst: ipmi::UserAccess::getUsrMgmtSyncIndex
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1617,1
    - Dst: std::map::erase
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1637,1
    - Dst: ipmi::UserAccess::deleteUserIndex
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1642,1
    - Dst: std::string
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1654,1
    - Dst: getUserNameFromPath
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1655,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1657,1
    - Dst: ipmi::UserAccess::getUserObjProperties
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1660,1
    - Dst: std::find
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1662,1
    - Dst: std::vector::begin
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1662,1
    - Dst: std::vector::end
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1662,1
    - Dst: std::vector::end
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1663,1
    - Dst: ipmi::UserAccess::addUserEntry
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1667,1
    - Dst: ipmi::UserAccess::writeUserData
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp:1677,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 81
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1681
      start: 1488
    functionDepth: 2
    functionLinenumber: 1488
    functionLinenumberEnd: 1681
    functionName: ipmi::UserAccess::cacheUserDataFile
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp
    functionUses: 2
    functionsReached:
    - sdbusplus::bus::match::rules::argN
    - std::ios_base::failure
    - std::fill
    - getUserNameFromPath
    - static_cast<uint8_t>
    - get_type_from_interface
    - new_method_call
    - std::vector::end
    - ipmi::UserAccess::addUserEntry
    - ipmi::UserAccess::readUserData
    - close
    - try_lock
    - std::vector::begin
    - std::find
    - sdbusplus::bus::match::rules::path_namespace
    - std::string
    - std::map::erase
    - ipmi::UserAccess::deleteUserIndex
    - call
    - reinterpret_cast<uint8_t*>
    - ipmi::UserAccess::getUserObjProperties
    - lg2::debug
    - safeUsernameString
    - ipmi::UserAccess::convertToIPMIPrivilege
    - lg2::error
    - open
    - std::make_unique<sdbusplus::bus::match_t>
    - std::map::find
    - std::map::end
    - boost::interprocess::file_lock
    - userUpdatedSignalHandler
    - sdbusplus::bus::match::rules::type::signal
    - auto::read
    - ipmi::UserAccess::writeUserData
    - ipmi::UserAccess::getUsrMgmtSyncIndex
    - find_openbmc_path
    - sdbusplus::bus::match::rules::member
    linkageType: ''
    returnType: void
    signature: void UserAccess::cacheUserDataFile()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::PasswdMgr::restrictFilesPermission
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:64,1
    - Dst: ipmi::PasswdMgr::initPasswordMap
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: ipmi::PasswdMgr::PasswdMgr
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp
    functionUses: 0
    functionsReached:
    - ipmi::PasswdMgr::initPasswordMap
    - ipmi::PasswdMgr::restrictFilesPermission
    linkageType: ''
    returnType: void
    signature: void PasswdMgr::PasswdMgr()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:72,1
    - Dst: chmod
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:76,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:78,1
    - Dst: stat
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:83,1
    - Dst: chmod
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:87,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:89,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 93
    functionName: ipmi::PasswdMgr::restrictFilesPermission
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp
    functionUses: 1
    functionsReached:
    - stat
    - chmod
    - lg2::debug
    linkageType: ''
    returnType: void
    signature: void PasswdMgr::restrictFilesPermission(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::PasswdMgr::checkAndReload
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:97,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:98,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:99,1
    - Dst: SecureString
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' userName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 104
    functionName: ipmi::PasswdMgr::getPasswdByUserName
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp
    functionUses: 0
    functionsReached:
    - SecureString
    - ipmi::PasswdMgr::checkAndReload
    - end
    - find
    linkageType: ''
    returnType: SecureString
    signature: SecureString PasswdMgr::getPasswdByUserName(const std::string& userName)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::PasswdMgr::getUpdatedFileTime
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:109,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:115,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:115,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:117,1
    - Dst: ipmi::PasswdMgr::updatePasswdSpecialFile
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:123,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:125,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:129,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - ' userName'
    - ' newUserName'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 131
    functionName: ipmi::PasswdMgr::updateUserEntry
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp
    functionUses: 0
    functionsReached:
    - find
    - ipmi::PasswdMgr::getUpdatedFileTime
    - lg2::debug
    - end
    - ipmi::PasswdMgr::updatePasswdSpecialFile
    linkageType: ''
    returnType: int
    signature: "int PasswdMgr::updateUserEntry(const std::string& userName,\n                               const
      std::string& newUserName)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::PasswdMgr::getUpdatedFileTime
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:135,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:138,1
    - Dst: clear
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:139,1
    - Dst: ipmi::PasswdMgr::initPasswordMap
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:140,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 142
    functionName: ipmi::PasswdMgr::checkAndReload
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp
    functionUses: 1
    functionsReached:
    - ipmi::PasswdMgr::initPasswordMap
    - clear
    - lg2::debug
    - ipmi::PasswdMgr::getUpdatedFileTime
    linkageType: ''
    returnType: void
    signature: void PasswdMgr::checkAndReload(void)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_key_length
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:151,1
    - Dst: EVP_CIPHER_iv_length
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:152,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:154,1
    - Dst: std::array::size
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:162,1
    - Dst: HMAC
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:165,1
    - Dst: EVP_sha256
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:165,1
    - Dst: std::array::data
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:165,1
    - Dst: reinterpret_cast<unsigned int*>
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:166,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:168,1
    - Dst: std::memcmp
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:172,1
    - Dst: std::array::data
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:172,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:174,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:184,1
    - Dst: EVP_CIPHER_CTX_set_padding
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:188,1
    - Dst: std::unique_ptr::get
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:188,1
    - Dst: EVP_CipherInit_ex
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:191,1
    - Dst: std::unique_ptr::get
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:191,1
    - Dst: static_cast<int>
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:192,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:195,1
    - Dst: EVP_CipherUpdate
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:200,1
    - Dst: std::unique_ptr::get
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:200,1
    - Dst: EVP_CipherFinal
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:205,1
    - Dst: std::unique_ptr::get
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:205,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:212,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:218,1
    - Dst: HMAC
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:225,1
    - Dst: EVP_sha256
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:225,1
    - Dst: reinterpret_cast<unsigned int*>
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:226,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:228,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 44
    argCount: 12
    argNames:
    - doEncrypt
    - cipher
    - key
    - keyLen
    - iv
    - ivLen
    - inBytes
    - inBytesLen
    - mac
    - macLen
    - outBytes
    - outBytesLen
    argTypes:
    - bool
    - EVP_CIPHER*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t*
    - unsigned char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 233
    functionName: ipmi::PasswdMgr::encryptDecryptData
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp
    functionUses: 0
    functionsReached:
    - EVP_sha256
    - static_cast<int>
    - std::array::data
    - reinterpret_cast<unsigned int*>
    - std::array::size
    - EVP_CIPHER_iv_length
    - EVP_CipherUpdate
    - std::memcmp
    - std::unique_ptr::get
    - lg2::debug
    - EVP_CipherFinal
    - HMAC
    - EVP_CIPHER_CTX_set_padding
    - EVP_CIPHER_key_length
    - EVP_CipherInit_ex
    linkageType: ''
    returnType: int
    signature: "int PasswdMgr::encryptDecryptData(\n    bool doEncrypt, const EVP_CIPHER*
      cipher, uint8_t* key, size_t keyLen,\n    uint8_t* iv, size_t ivLen, uint8_t*
      inBytes, size_t inBytesLen,\n    uint8_t* mac, size_t* macLen, unsigned char*
      outBytes, size_t* outBytesLen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::PasswdMgr::readPasswdFileData
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:240,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:242,1
    - Dst: SecureString::size
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:246,1
    - Dst: SecureString::data
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:249,1
    - Dst: strtok_r
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:251,1
    - Dst: SecureString::find
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:257,1
    - Dst: SecureString::size
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:259,1
    - Dst: emplace
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:260,1
    - Dst: SecureString::substr
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:261,1
    - Dst: SecureString::substr
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:262,1
    - Dst: strtok_r
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:264,1
    - Dst: ipmi::PasswdMgr::getUpdatedFileTime
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:269,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 271
    functionName: ipmi::PasswdMgr::initPasswordMap
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp
    functionUses: 2
    functionsReached:
    - strtok_r
    - SecureString::substr
    - SecureString::find
    - ipmi::PasswdMgr::getUpdatedFileTime
    - emplace
    - SecureString::size
    - SecureString::data
    - lg2::debug
    - ipmi::PasswdMgr::readPasswdFileData
    linkageType: ''
    returnType: void
    signature: void PasswdMgr::initPasswordMap(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: std::ifstream::is_open
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:277,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:279,1
    - Dst: std::ifstream::read
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:282,1
    - Dst: reinterpret_cast<char*>
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:282,1
    - Dst: std::array::data
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:282,1
    - Dst: std::array::size
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:282,1
    - Dst: std::ifstream::fail
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:283,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:285,1
    - Dst: std::ifstream::is_open
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:290,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:292,1
    - Dst: std::ifstream::seekg
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:297,1
    - Dst: std::ifstream::tellg
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:298,1
    - Dst: std::ifstream::seekg
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:299,1
    - Dst: std::ifstream::read
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:301,1
    - Dst: reinterpret_cast<char*>
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:301,1
    - Dst: std::vector::data
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:301,1
    - Dst: std::ifstream::fail
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:302,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:304,1
    - Dst: reinterpret_cast<MetaPassStruct*>
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:309,1
    - Dst: std::vector::data
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:309,1
    - Dst: std::strncmp
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:310,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:313,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:321,1
    - Dst: std::array::size
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:327,1
    - Dst: HMAC
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:328,1
    - Dst: EVP_sha256
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:328,1
    - Dst: std::array::data
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:328,1
    - Dst: std::array::size
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:328,1
    - Dst: std::vector::data
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:329,1
    - Dst: std::array::data
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:330,1
    - Dst: reinterpret_cast<unsigned int*>
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:330,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:332,1
    - Dst: std::vector::data
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:337,1
    - Dst: resize
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:345,1
    - Dst: ipmi::PasswdMgr::encryptDecryptData
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:346,1
    - Dst: EVP_aes_128_cbc
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:346,1
    - Dst: std::array::data
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:346,1
    - Dst: reinterpret_cast<unsigned char*>
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:348,1
    - Dst: data
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:348,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:351,1
    - Dst: resize
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:355,1
    - Dst: OPENSSL_cleanse
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:357,1
    - Dst: std::array::data
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:357,1
    - Dst: OPENSSL_cleanse
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:358,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 42
    argCount: 1
    argNames:
    - ' outBytes'
    argTypes:
    - SecureString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 361
    functionName: ipmi::PasswdMgr::readPasswdFileData
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp
    functionUses: 1
    functionsReached:
    - std::strncmp
    - EVP_sha256
    - reinterpret_cast<char*>
    - std::ifstream::seekg
    - data
    - resize
    - HMAC
    - std::array::data
    - std::array::size
    - reinterpret_cast<unsigned char*>
    - OPENSSL_cleanse
    - std::ifstream::is_open
    - std::ifstream::fail
    - reinterpret_cast<unsigned int*>
    - reinterpret_cast<MetaPassStruct*>
    - ipmi::PasswdMgr::encryptDecryptData
    - lg2::debug
    - EVP_aes_128_cbc
    - std::ifstream::read
    - std::ifstream::tellg
    - std::vector::data
    linkageType: ''
    returnType: int
    signature: int PasswdMgr::readPasswdFileData(SecureString& outBytes)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: EVP_aes_128_cbc
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:371,1
    - Dst: ipmi::PasswdMgr::readPasswdFileData
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:376,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:378,1
    - Dst: SecureString::size
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:382,1
    - Dst: SecureString::size
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:384,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:384,1
    - Dst: EVP_CIPHER_block_size
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:385,1
    - Dst: reinterpret_cast<char*>
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:391,1
    - Dst: SecureString::data
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:391,1
    - Dst: strtok_r
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:393,1
    - Dst: SecureString::find
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:399,1
    - Dst: compare
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:401,1
    - Dst: SecureString::substr
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:401,1
    - Dst: empty
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:404,1
    - Dst: std::snprintf
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:406,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:409,1
    - Dst: SecureString::substr
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:410,1
    - Dst: SecureString::size
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:410,1
    - Dst: std::snprintf
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:415,1
    - Dst: SecureString::data
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:417,1
    - Dst: strtok_r
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:420,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:426,1
    - Dst: std::ifstream::good
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:433,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:435,1
    - Dst: std::ifstream::read
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:438,1
    - Dst: reinterpret_cast<char*>
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:438,1
    - Dst: std::array::data
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:438,1
    - Dst: std::array::size
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:438,1
    - Dst: std::ifstream::fail
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:439,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:441,1
    - Dst: std::ifstream::close
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:444,1
    - Dst: stat
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:448,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:450,1
    - Dst: std::string::begin
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:456,1
    - Dst: std::string::end
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:456,1
    - Dst: std::vector::insert
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:459,1
    - Dst: std::vector::end
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:459,1
    - Dst: std::vector::begin
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:459,1
    - Dst: std::vector::end
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:460,1
    - Dst: mkstemp
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:461,1
    - Dst: std::vector::data
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:461,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:464,1
    - Dst: std::vector::data
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:468,1
    - Dst: close
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:475,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:476,1
    - Dst: fchmod
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:481,1
    - Dst: fileno
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:481,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:483,1
    - Dst: EVP_sha256
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:487,1
    - Dst: EVP_MD_block_size
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:488,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:491,1
    - Dst: EVP_CIPHER_iv_length
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:495,1
    - Dst: std::array::size
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:498,1
    - Dst: std::array::size
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:500,1
    - Dst: RAND_bytes
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:504,1
    - Dst: std::vector::data
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:504,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:506,1
    - Dst: HMAC
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:510,1
    - Dst: std::array::data
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:510,1
    - Dst: std::array::size
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:510,1
    - Dst: std::vector::data
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:510,1
    - Dst: std::array::data
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:511,1
    - Dst: reinterpret_cast<unsigned int*>
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:511,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:513,1
    - Dst: RAND_bytes
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:518,1
    - Dst: std::vector::data
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:518,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:520,1
    - Dst: ipmi::PasswdMgr::encryptDecryptData
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:529,1
    - Dst: EVP_aes_128_cbc
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:530,1
    - Dst: std::array::data
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:530,1
    - Dst: std::vector::data
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:530,1
    - Dst: reinterpret_cast<unsigned char*>
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:531,1
    - Dst: SecureString::data
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:531,1
    - Dst: std::array::data
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:532,1
    - Dst: std::vector::data
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:532,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:534,1
    - Dst: OPENSSL_cleanse
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:539,1
    - Dst: std::array::data
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:539,1
    - Dst: fwrite
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:549,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:551,1
    - Dst: fwrite
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:555,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:557,1
    - Dst: fwrite
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:561,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:563,1
    - Dst: fwrite
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:567,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:569,1
    - Dst: fwrite
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:573,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:575,1
    - Dst: fflush
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:579,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:581,1
    - Dst: OPENSSL_cleanse
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:585,1
    - Dst: std::vector::data
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:585,1
    - Dst: std::rename
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:588,1
    - Dst: std::string::data
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:588,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:590,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 115
    argCount: 2
    argNames:
    - ' userName'
    - ' newUserName'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 363
    functionDepth: 2
    functionLinenumber: 363
    functionLinenumberEnd: 595
    functionName: ipmi::PasswdMgr::updatePasswdSpecialFile
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp
    functionUses: 1
    functionsReached:
    - stat
    - fflush
    - EVP_sha256
    - std::rename
    - SecureString::find
    - reinterpret_cast<char*>
    - std::string::data
    - compare
    - SecureString::size
    - ipmi::PasswdMgr::readPasswdFileData
    - HMAC
    - std::vector::end
    - fchmod
    - close
    - fileno
    - std::vector::begin
    - std::array::data
    - std::array::size
    - c_str
    - SecureString::data
    - reinterpret_cast<unsigned char*>
    - fwrite
    - SecureString::substr
    - EVP_CIPHER_block_size
    - strtok_r
    - std::ifstream::good
    - std::ifstream::close
    - OPENSSL_cleanse
    - std::ifstream::fail
    - size
    - reinterpret_cast<unsigned int*>
    - EVP_CIPHER_iv_length
    - std::snprintf
    - std::string::end
    - RAND_bytes
    - ipmi::PasswdMgr::encryptDecryptData
    - empty
    - lg2::debug
    - std::vector::insert
    - EVP_MD_block_size
    - EVP_aes_128_cbc
    - std::ifstream::read
    - std::string::begin
    - std::vector::data
    - mkstemp
    linkageType: ''
    returnType: int
    signature: "int PasswdMgr::updatePasswdSpecialFile(const std::string& userName,\n
      \                                      const std::string& newUserName)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:600,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:602,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 606
    functionName: ipmi::PasswdMgr::getUpdatedFileTime
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp
    functionUses: 3
    functionsReached:
    - stat
    - lg2::debug
    linkageType: ''
    returnType: std::time_t
    signature: std::time_t PasswdMgr::getUpdatedFileTime()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::PasswdMgr::restrictFilesPermission
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:64,1
    - Dst: ipmi::PasswdMgr::initPasswordMap
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: ipmi::PasswdMgr::PasswdMgr
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp
    functionUses: 0
    functionsReached:
    - ipmi::PasswdMgr::initPasswordMap
    - ipmi::PasswdMgr::restrictFilesPermission
    linkageType: ''
    returnType: void
    signature: void PasswdMgr::PasswdMgr()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:72,1
    - Dst: chmod
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:76,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:78,1
    - Dst: stat
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:83,1
    - Dst: chmod
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:87,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:89,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 93
    functionName: ipmi::PasswdMgr::restrictFilesPermission
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp
    functionUses: 2
    functionsReached:
    - stat
    - chmod
    - lg2::debug
    linkageType: ''
    returnType: void
    signature: void PasswdMgr::restrictFilesPermission(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::PasswdMgr::checkAndReload
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:97,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:98,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:99,1
    - Dst: SecureString
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' userName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 104
    functionName: ipmi::PasswdMgr::getPasswdByUserName
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp
    functionUses: 0
    functionsReached:
    - SecureString
    - ipmi::PasswdMgr::checkAndReload
    - end
    - find
    linkageType: ''
    returnType: SecureString
    signature: SecureString PasswdMgr::getPasswdByUserName(const std::string& userName)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::PasswdMgr::getUpdatedFileTime
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:109,1
    - Dst: find
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:115,1
    - Dst: end
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:115,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:117,1
    - Dst: ipmi::PasswdMgr::updatePasswdSpecialFile
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:123,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:125,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:129,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - ' userName'
    - ' newUserName'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 106
    functionDepth: 3
    functionLinenumber: 106
    functionLinenumberEnd: 131
    functionName: ipmi::PasswdMgr::updateUserEntry
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp
    functionUses: 0
    functionsReached:
    - find
    - ipmi::PasswdMgr::getUpdatedFileTime
    - lg2::debug
    - end
    - ipmi::PasswdMgr::updatePasswdSpecialFile
    linkageType: ''
    returnType: int
    signature: "int PasswdMgr::updateUserEntry(const std::string& userName,\n                               const
      std::string& newUserName)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::PasswdMgr::getUpdatedFileTime
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:135,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:138,1
    - Dst: clear
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:139,1
    - Dst: ipmi::PasswdMgr::initPasswordMap
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:140,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 142
    functionName: ipmi::PasswdMgr::checkAndReload
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp
    functionUses: 2
    functionsReached:
    - ipmi::PasswdMgr::initPasswordMap
    - clear
    - lg2::debug
    - ipmi::PasswdMgr::getUpdatedFileTime
    linkageType: ''
    returnType: void
    signature: void PasswdMgr::checkAndReload(void)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_key_length
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:151,1
    - Dst: EVP_CIPHER_iv_length
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:152,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:154,1
    - Dst: std::array::size
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:162,1
    - Dst: HMAC
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:165,1
    - Dst: EVP_sha256
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:165,1
    - Dst: std::array::data
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:165,1
    - Dst: reinterpret_cast<unsigned int*>
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:166,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:168,1
    - Dst: std::memcmp
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:172,1
    - Dst: std::array::data
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:172,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:174,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:184,1
    - Dst: EVP_CIPHER_CTX_set_padding
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:188,1
    - Dst: std::unique_ptr::get
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:188,1
    - Dst: EVP_CipherInit_ex
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:191,1
    - Dst: std::unique_ptr::get
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:191,1
    - Dst: static_cast<int>
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:192,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:195,1
    - Dst: EVP_CipherUpdate
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:200,1
    - Dst: std::unique_ptr::get
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:200,1
    - Dst: EVP_CipherFinal
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:205,1
    - Dst: std::unique_ptr::get
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:205,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:212,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:218,1
    - Dst: HMAC
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:225,1
    - Dst: EVP_sha256
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:225,1
    - Dst: reinterpret_cast<unsigned int*>
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:226,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:228,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 44
    argCount: 12
    argNames:
    - doEncrypt
    - cipher
    - key
    - keyLen
    - iv
    - ivLen
    - inBytes
    - inBytesLen
    - mac
    - macLen
    - outBytes
    - outBytesLen
    argTypes:
    - bool
    - EVP_CIPHER*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t*
    - unsigned char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 233
    functionName: ipmi::PasswdMgr::encryptDecryptData
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp
    functionUses: 2
    functionsReached:
    - EVP_sha256
    - static_cast<int>
    - std::array::data
    - reinterpret_cast<unsigned int*>
    - std::array::size
    - EVP_CIPHER_iv_length
    - EVP_CipherUpdate
    - std::memcmp
    - std::unique_ptr::get
    - lg2::debug
    - EVP_CipherFinal
    - HMAC
    - EVP_CIPHER_CTX_set_padding
    - EVP_CIPHER_key_length
    - EVP_CipherInit_ex
    linkageType: ''
    returnType: int
    signature: "int PasswdMgr::encryptDecryptData(\n    bool doEncrypt, const EVP_CIPHER*
      cipher, uint8_t* key, size_t keyLen,\n    uint8_t* iv, size_t ivLen, uint8_t*
      inBytes, size_t inBytesLen,\n    uint8_t* mac, size_t* macLen, unsigned char*
      outBytes, size_t* outBytesLen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::PasswdMgr::readPasswdFileData
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:240,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:242,1
    - Dst: SecureString::size
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:246,1
    - Dst: SecureString::data
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:249,1
    - Dst: strtok_r
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:251,1
    - Dst: SecureString::find
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:257,1
    - Dst: SecureString::size
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:259,1
    - Dst: emplace
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:260,1
    - Dst: SecureString::substr
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:261,1
    - Dst: SecureString::substr
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:262,1
    - Dst: strtok_r
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:264,1
    - Dst: ipmi::PasswdMgr::getUpdatedFileTime
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:269,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 235
    functionDepth: 2
    functionLinenumber: 235
    functionLinenumberEnd: 271
    functionName: ipmi::PasswdMgr::initPasswordMap
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp
    functionUses: 4
    functionsReached:
    - strtok_r
    - SecureString::substr
    - SecureString::find
    - ipmi::PasswdMgr::getUpdatedFileTime
    - emplace
    - SecureString::size
    - SecureString::data
    - lg2::debug
    - ipmi::PasswdMgr::readPasswdFileData
    linkageType: ''
    returnType: void
    signature: void PasswdMgr::initPasswordMap(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: std::ifstream::is_open
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:277,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:279,1
    - Dst: std::ifstream::read
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:282,1
    - Dst: reinterpret_cast<char*>
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:282,1
    - Dst: std::array::data
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:282,1
    - Dst: std::array::size
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:282,1
    - Dst: std::ifstream::fail
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:283,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:285,1
    - Dst: std::ifstream::is_open
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:290,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:292,1
    - Dst: std::ifstream::seekg
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:297,1
    - Dst: std::ifstream::tellg
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:298,1
    - Dst: std::ifstream::seekg
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:299,1
    - Dst: std::ifstream::read
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:301,1
    - Dst: reinterpret_cast<char*>
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:301,1
    - Dst: std::vector::data
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:301,1
    - Dst: std::ifstream::fail
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:302,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:304,1
    - Dst: reinterpret_cast<MetaPassStruct*>
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:309,1
    - Dst: std::vector::data
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:309,1
    - Dst: std::strncmp
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:310,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:313,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:321,1
    - Dst: std::array::size
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:327,1
    - Dst: HMAC
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:328,1
    - Dst: EVP_sha256
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:328,1
    - Dst: std::array::data
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:328,1
    - Dst: std::array::size
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:328,1
    - Dst: std::vector::data
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:329,1
    - Dst: std::array::data
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:330,1
    - Dst: reinterpret_cast<unsigned int*>
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:330,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:332,1
    - Dst: std::vector::data
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:337,1
    - Dst: resize
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:345,1
    - Dst: ipmi::PasswdMgr::encryptDecryptData
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:346,1
    - Dst: EVP_aes_128_cbc
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:346,1
    - Dst: std::array::data
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:346,1
    - Dst: reinterpret_cast<unsigned char*>
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:348,1
    - Dst: data
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:348,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:351,1
    - Dst: resize
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:355,1
    - Dst: OPENSSL_cleanse
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:357,1
    - Dst: std::array::data
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:357,1
    - Dst: OPENSSL_cleanse
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:358,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 42
    argCount: 1
    argNames:
    - ' outBytes'
    argTypes:
    - SecureString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 361
    functionName: ipmi::PasswdMgr::readPasswdFileData
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp
    functionUses: 3
    functionsReached:
    - std::strncmp
    - EVP_sha256
    - reinterpret_cast<char*>
    - std::ifstream::seekg
    - data
    - resize
    - HMAC
    - std::array::data
    - std::array::size
    - reinterpret_cast<unsigned char*>
    - OPENSSL_cleanse
    - std::ifstream::is_open
    - std::ifstream::fail
    - reinterpret_cast<unsigned int*>
    - reinterpret_cast<MetaPassStruct*>
    - ipmi::PasswdMgr::encryptDecryptData
    - lg2::debug
    - EVP_aes_128_cbc
    - std::ifstream::read
    - std::ifstream::tellg
    - std::vector::data
    linkageType: ''
    returnType: int
    signature: int PasswdMgr::readPasswdFileData(SecureString& outBytes)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: EVP_aes_128_cbc
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:371,1
    - Dst: ipmi::PasswdMgr::readPasswdFileData
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:376,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:378,1
    - Dst: SecureString::size
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:382,1
    - Dst: SecureString::size
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:384,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:384,1
    - Dst: EVP_CIPHER_block_size
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:385,1
    - Dst: reinterpret_cast<char*>
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:391,1
    - Dst: SecureString::data
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:391,1
    - Dst: strtok_r
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:393,1
    - Dst: SecureString::find
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:399,1
    - Dst: compare
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:401,1
    - Dst: SecureString::substr
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:401,1
    - Dst: empty
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:404,1
    - Dst: std::snprintf
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:406,1
    - Dst: c_str
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:409,1
    - Dst: SecureString::substr
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:410,1
    - Dst: SecureString::size
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:410,1
    - Dst: std::snprintf
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:415,1
    - Dst: SecureString::data
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:417,1
    - Dst: strtok_r
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:420,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:426,1
    - Dst: std::ifstream::good
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:433,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:435,1
    - Dst: std::ifstream::read
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:438,1
    - Dst: reinterpret_cast<char*>
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:438,1
    - Dst: std::array::data
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:438,1
    - Dst: std::array::size
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:438,1
    - Dst: std::ifstream::fail
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:439,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:441,1
    - Dst: std::ifstream::close
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:444,1
    - Dst: stat
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:448,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:450,1
    - Dst: std::string::begin
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:456,1
    - Dst: std::string::end
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:456,1
    - Dst: std::vector::insert
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:459,1
    - Dst: std::vector::end
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:459,1
    - Dst: std::vector::begin
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:459,1
    - Dst: std::vector::end
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:460,1
    - Dst: mkstemp
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:461,1
    - Dst: std::vector::data
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:461,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:464,1
    - Dst: std::vector::data
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:468,1
    - Dst: close
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:475,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:476,1
    - Dst: fchmod
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:481,1
    - Dst: fileno
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:481,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:483,1
    - Dst: EVP_sha256
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:487,1
    - Dst: EVP_MD_block_size
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:488,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:491,1
    - Dst: EVP_CIPHER_iv_length
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:495,1
    - Dst: std::array::size
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:498,1
    - Dst: std::array::size
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:500,1
    - Dst: RAND_bytes
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:504,1
    - Dst: std::vector::data
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:504,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:506,1
    - Dst: HMAC
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:510,1
    - Dst: std::array::data
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:510,1
    - Dst: std::array::size
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:510,1
    - Dst: std::vector::data
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:510,1
    - Dst: std::array::data
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:511,1
    - Dst: reinterpret_cast<unsigned int*>
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:511,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:513,1
    - Dst: RAND_bytes
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:518,1
    - Dst: std::vector::data
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:518,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:520,1
    - Dst: ipmi::PasswdMgr::encryptDecryptData
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:529,1
    - Dst: EVP_aes_128_cbc
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:530,1
    - Dst: std::array::data
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:530,1
    - Dst: std::vector::data
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:530,1
    - Dst: reinterpret_cast<unsigned char*>
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:531,1
    - Dst: SecureString::data
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:531,1
    - Dst: std::array::data
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:532,1
    - Dst: std::vector::data
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:532,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:534,1
    - Dst: OPENSSL_cleanse
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:539,1
    - Dst: std::array::data
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:539,1
    - Dst: fwrite
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:549,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:551,1
    - Dst: fwrite
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:555,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:557,1
    - Dst: fwrite
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:561,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:563,1
    - Dst: fwrite
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:567,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:569,1
    - Dst: fwrite
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:573,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:575,1
    - Dst: fflush
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:579,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:581,1
    - Dst: OPENSSL_cleanse
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:585,1
    - Dst: std::vector::data
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:585,1
    - Dst: std::rename
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:588,1
    - Dst: std::string::data
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:588,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:590,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 115
    argCount: 2
    argNames:
    - ' userName'
    - ' newUserName'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 363
    functionDepth: 2
    functionLinenumber: 363
    functionLinenumberEnd: 595
    functionName: ipmi::PasswdMgr::updatePasswdSpecialFile
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp
    functionUses: 2
    functionsReached:
    - stat
    - fflush
    - EVP_sha256
    - std::rename
    - SecureString::find
    - reinterpret_cast<char*>
    - std::string::data
    - compare
    - SecureString::size
    - ipmi::PasswdMgr::readPasswdFileData
    - HMAC
    - std::vector::end
    - fchmod
    - close
    - fileno
    - std::vector::begin
    - std::array::data
    - std::array::size
    - c_str
    - SecureString::data
    - reinterpret_cast<unsigned char*>
    - fwrite
    - SecureString::substr
    - EVP_CIPHER_block_size
    - strtok_r
    - std::ifstream::good
    - std::ifstream::close
    - OPENSSL_cleanse
    - std::ifstream::fail
    - size
    - reinterpret_cast<unsigned int*>
    - EVP_CIPHER_iv_length
    - std::snprintf
    - std::string::end
    - RAND_bytes
    - ipmi::PasswdMgr::encryptDecryptData
    - empty
    - lg2::debug
    - std::vector::insert
    - EVP_MD_block_size
    - EVP_aes_128_cbc
    - std::ifstream::read
    - std::string::begin
    - std::vector::data
    - mkstemp
    linkageType: ''
    returnType: int
    signature: "int PasswdMgr::updatePasswdSpecialFile(const std::string& userName,\n
      \                                      const std::string& newUserName)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:600,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp:602,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 606
    functionName: ipmi::PasswdMgr::getUpdatedFileTime
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp
    functionUses: 6
    functionsReached:
    - stat
    - lg2::debug
    linkageType: ''
    returnType: std::time_t
    signature: std::time_t PasswdMgr::getUpdatedFileTime()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: ipmi::responsePasswdFailMismatch
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/usercommands.cpp
    functionUses: 0
    functionsReached:
    - ipmi::response
    linkageType: ''
    returnType: auto
    signature: auto responsePasswdFailMismatch()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::optional<uint8_t>::value_or
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:71,1
    - Dst: ipmi::ipmiUserIsValidPrivilege
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:73,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:73,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:75,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:76,1
    - Dst: ipmi::convertCurrentChannelNum
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:80,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:80,1
    - Dst: ipmi::isValidChannel
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:81,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:83,1
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:85,1
    - Dst: ipmi::getChannelSessionSupport
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:87,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:89,1
    - Dst: ipmi::responseActionNotSupportedForChannel
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:90,1
    - Dst: ipmi::ipmiUserIsValidUserId
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:92,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:92,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:94,1
    - Dst: ipmi::responseParmOutOfRange
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:95,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:101,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:102,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:103,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:105,1
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:106,1
    - Dst: ipmi::ipmiUserSetPrivilegeAccess
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:107,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:107,1
    - Dst: static_cast<bool>
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:108,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 11
    argNames:
    - ctx
    - channel
    - ipmiEnabled
    - linkAuthEnabled
    - accessCallback
    - bitsUpdate
    - userId
    - reserved1
    - privilege
    - reserved2
    - sessionLimit
    argTypes:
    - ipmi::Context::ptr
    - uint4_t
    - uint1_t
    - uint1_t
    - uint1_t
    - uint1_t
    - uint6_t
    - uint2_t
    - uint4_t
    - uint4_t
    - std::optional<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 109
    functionName: ipmi::ipmiSetUserAccess
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/usercommands.cpp
    functionUses: 0
    functionsReached:
    - ipmi::convertCurrentChannelNum
    - ipmi::responseParmOutOfRange
    - ipmi::getChannelSessionSupport
    - std::optional<uint8_t>::value_or
    - static_cast<bool>
    - ipmi::responseInvalidFieldRequest
    - static_cast<uint8_t>
    - ipmi::isValidChannel
    - ipmi::ipmiUserIsValidPrivilege
    - lg2::debug
    - ipmi::ipmiUserSetPrivilegeAccess
    - ipmi::response
    - ipmi::ipmiUserIsValidUserId
    - ipmi::responseActionNotSupportedForChannel
    linkageType: ''
    returnType: ipmi::RspType<>
    signature: "ipmi::RspType<> ipmiSetUserAccess(\n    ipmi::Context::ptr ctx, uint4_t
      channel, uint1_t ipmiEnabled,\n    uint1_t linkAuthEnabled, uint1_t accessCallback,
      uint1_t bitsUpdate,\n\n    uint6_t userId, uint2_t reserved1,\n\n    uint4_t
      privilege, uint4_t reserved2,\n\n    std::optional<uint8_t> sessionLimit)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::convertCurrentChannelNum
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:152,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:152,1
    - Dst: ipmi::isValidChannel
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:154,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:156,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:157,1
    - Dst: ipmi::getChannelSessionSupport
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:160,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:162,1
    - Dst: ipmi::responseActionNotSupportedForChannel
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:163,1
    - Dst: ipmi::ipmiUserIsValidUserId
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:165,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:165,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:167,1
    - Dst: ipmi::responseParmOutOfRange
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:168,1
    - Dst: ipmi::ipmiUserGetAllCounts
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:173,1
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:176,1
    - Dst: ipmi::ipmiUserCheckEnabled
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:181,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:181,1
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:184,1
    - Dst: ipmi::ipmiUserGetPrivilegeAccess
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:190,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:190,1
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:194,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:197,1
    - Dst: static_cast<uint6_t>
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:198,1
    - Dst: static_cast<uint6_t>
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:200,1
    - Dst: static_cast<uint6_t>
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:202,1
    - Dst: static_cast<uint4_t>
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:204,1
    - Dst: static_cast<uint1_t>
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:205,1
    - Dst: static_cast<uint1_t>
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:206,1
    - Dst: static_cast<uint1_t>
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:207,1
    - Dst: static_cast<uint1_t>
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:208,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 5
    argNames:
    - ctx
    - channel
    - reserved1
    - userId
    - reserved2
    argTypes:
    - ipmi::Context::ptr
    - uint4_t
    - uint4_t
    - uint6_t
    - uint2_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 209
    functionName: ipmi::ipmiGetUserAccess
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/usercommands.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint4_t>
    - ipmi::convertCurrentChannelNum
    - ipmi::responseSuccess
    - ipmi::responseParmOutOfRange
    - ipmi::getChannelSessionSupport
    - ipmi::ipmiUserGetAllCounts
    - ipmi::ipmiUserCheckEnabled
    - static_cast<uint1_t>
    - ipmi::isValidChannel
    - static_cast<uint8_t>
    - ipmi::responseInvalidFieldRequest
    - lg2::debug
    - ipmi::ipmiUserGetPrivilegeAccess
    - ipmi::response
    - ipmi::responseActionNotSupportedForChannel
    - ipmi::ipmiUserIsValidUserId
    - static_cast<uint6_t>
    linkageType: ''
    returnType: "ipmi::RspType<uint6_t, // max channel users\n              uint2_t,
      // reserved1\n\n              uint6_t, // enabled users count\n              uint2_t,
      // enabled status\n\n              uint6_t, // fixed users count\n              uint2_t,
      // reserved2\n\n              uint4_t, // privilege\n              uint1_t,
      // ipmi messaging state\n              uint1_t, // link authentication state\n
      \             uint1_t, // access callback state\n              uint1_t  // reserved3\n
      \             >"
    signature: "ipmi::RspType<uint6_t, // max channel users\n              uint2_t,
      // reserved1\n\n              uint6_t, // enabled users count\n              uint2_t,
      // enabled status\n\n              uint6_t, // fixed users count\n              uint2_t,
      // reserved2\n\n              uint4_t, // privilege\n              uint1_t,
      // ipmi messaging state\n              uint1_t, // link authentication state\n
      \             uint1_t, // access callback state\n              uint1_t  // reserved3\n
      \             > ipmiGetUserAccess(ipmi::Context::ptr ctx, uint4_t channel,\n
      \                     uint4_t reserved1,\n\n                      uint6_t userId,
      uint2_t reserved2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:225,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:227,1
    - Dst: ipmi::ipmiUserIsValidUserId
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:228,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:230,1
    - Dst: ipmi::responseParmOutOfRange
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:231,1
    - Dst: strnlen
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:234,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:234,1
    - Dst: data
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:234,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:236,1
    - Dst: data
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:236,1
    - Dst: ipmi::ipmiUserSetUserName
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:239,1
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:240,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - ctx
    - id
    - reserved
    - ' name'
    argTypes:
    - ipmi::Context::ptr
    - uint6_t
    - uint2_t
    - std::array<uint8_t, ipmi::ipmiMaxUserName>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 219
    functionDepth: 2
    functionLinenumber: 219
    functionLinenumberEnd: 241
    functionName: ipmi::ipmiSetUserName
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/usercommands.cpp
    functionUses: 0
    functionsReached:
    - ipmi::responseParmOutOfRange
    - strnlen
    - ipmi::responseInvalidFieldRequest
    - static_cast<uint8_t>
    - data
    - ipmi::ipmiUserSetUserName
    - lg2::debug
    - ipmi::response
    - reinterpret_cast<const char*>
    - ipmi::ipmiUserIsValidUserId
    linkageType: ''
    returnType: ipmi::RspType<>
    signature: "ipmi::RspType<> ipmiSetUserName(\n    [[maybe_unused]] ipmi::Context::ptr
      ctx, uint6_t id, uint2_t reserved,\n    const std::array<uint8_t, ipmi::ipmiMaxUserName>&
      name)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:256,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:259,1
    - Dst: ipmi::ipmiUserGetUserName
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:261,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:263,1
    - Dst: ipmi::responseParmOutOfRange
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:265,1
    - Dst: std::string::size
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:268,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:270,1
    - Dst: std::fill
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:273,1
    - Dst: std::array::begin
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:273,1
    - Dst: std::array::end
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:273,1
    - Dst: std::copy
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:274,1
    - Dst: std::string::begin
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:274,1
    - Dst: std::string::end
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:274,1
    - Dst: std::array::begin
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:274,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:275,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:275,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - ctx
    - id
    - reserved
    argTypes:
    - ipmi::Context::ptr
    - uint6_t
    - uint2_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 250
    functionDepth: 2
    functionLinenumber: 250
    functionLinenumberEnd: 276
    functionName: ipmi::ipmiGetUserName
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/usercommands.cpp
    functionUses: 0
    functionsReached:
    - ipmi::responseSuccess
    - ipmi::responseUnspecifiedError
    - std::array::begin
    - ipmi::responseParmOutOfRange
    - ipmi::ipmiUserGetUserName
    - std::array::end
    - std::fill
    - std::string::end
    - std::string::begin
    - ipmi::responseInvalidFieldRequest
    - static_cast<uint8_t>
    - std::copy
    - lg2::debug
    - std::move
    - std::string::size
    linkageType: ''
    returnType: ipmi::RspType<std::array<uint8_t, ipmi::ipmiMaxUserName>>
    signature: "ipmi::RspType<std::array<uint8_t, ipmi::ipmiMaxUserName>> ipmiGetUserName([[maybe_unused]]
      ipmi::Context::ptr ctx, uint6_t id,\n                    uint2_t reserved)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:292,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:293,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:304,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:305,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:307,1
    - Dst: ipmi::responseReqDataLenInvalid
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:308,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:311,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:313,1
    - Dst: ipmi::ipmiUserGetUserName
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:315,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:317,1
    - Dst: ipmi::responseParmOutOfRange
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:319,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:326,1
    - Dst: data
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:326,1
    - Dst: ipmi::ipmiUserSetUserPassword
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:327,1
    - Dst: SecureString::data
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:327,1
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:328,1
    - Dst: ipmi::ipmiUserUpdateEnabledState
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:333,1
    - Dst: static_cast<bool>
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:333,1
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:334,1
    - Dst: ipmi::ipmiUserGetPassword
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:338,1
    - Dst: SecureString::size
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:340,1
    - Dst: SecureString::resize
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:342,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:345,1
    - Dst: data
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:345,1
    - Dst: SecureString::size
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:350,1
    - Dst: SecureString::size
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:351,1
    - Dst: std::array::data
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:355,1
    - Dst: SecureString::data
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:359,1
    - Dst: CRYPTO_memcmp
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:361,1
    - Dst: SecureString::data
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:361,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:365,1
    - Dst: ipmi::responsePasswdFailMismatch
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:367,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:369,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:371,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 36
    argCount: 7
    argNames:
    - ctx
    - id
    - reserved1
    - pwLen20
    - operation
    - reserved2
    - ' userPassword'
    argTypes:
    - ipmi::Context::ptr
    - uint6_t
    - bool
    - bool
    - uint2_t
    - uint6_t
    - SecureBuffer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 285
    functionDepth: 2
    functionLinenumber: 285
    functionLinenumberEnd: 372
    functionName: ipmi::ipmiSetUserPassword
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/usercommands.cpp
    functionUses: 0
    functionsReached:
    - ipmi::responseSuccess
    - ipmi::responseParmOutOfRange
    - static_cast<bool>
    - SecureString::size
    - static_cast<uint8_t>
    - data
    - ipmi::response
    - SecureString::resize
    - std::array::data
    - ipmi::ipmiUserGetUserName
    - ipmi::ipmiUserGetPassword
    - SecureString::data
    - ipmi::ipmiUserUpdateEnabledState
    - ipmi::responsePasswdFailMismatch
    - size
    - ipmi::responseInvalidFieldRequest
    - ipmi::ipmiUserSetUserPassword
    - lg2::debug
    - reinterpret_cast<const char*>
    - CRYPTO_memcmp
    - ipmi::responseReqDataLenInvalid
    linkageType: ''
    returnType: ipmi::RspType<>
    signature: "ipmi::RspType<> ipmiSetUserPassword([[maybe_unused]] ipmi::Context::ptr
      ctx, uint6_t id,\n                        bool reserved1, bool pwLen20, uint2_t
      operation,\n                        uint6_t reserved2, SecureBuffer& userPassword)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::convertCurrentChannelNum
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:422,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:422,1
    - Dst: ipmi::isValidChannel
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:424,1
    - Dst: ipmi::isValidPrivLimit
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:425,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:425,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:427,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:428,1
    - Dst: ipmi::getChannelSessionSupport
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:431,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:433,1
    - Dst: ipmi::responseActionNotSupportedForChannel
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:434,1
    - Dst: ipmi::ipmiUserGetAllCounts
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:454,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:457,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 6
    argNames:
    - ctx
    - chNum
    - reserved1
    - extData
    - privLevel
    - reserved2
    argTypes:
    - ipmi::Context::ptr
    - uint4_t
    - uint3_t
    - bool
    - uint4_t
    - uint4_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 400
    functionDepth: 2
    functionLinenumber: 400
    functionLinenumberEnd: 461
    functionName: ipmi::ipmiGetChannelAuthenticationCapabilities
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/usercommands.cpp
    functionUses: 0
    functionsReached:
    - ipmi::convertCurrentChannelNum
    - ipmi::responseSuccess
    - ipmi::getChannelSessionSupport
    - ipmi::ipmiUserGetAllCounts
    - ipmi::isValidPrivLimit
    - ipmi::isValidChannel
    - static_cast<uint8_t>
    - ipmi::responseInvalidFieldRequest
    - lg2::debug
    - ipmi::responseActionNotSupportedForChannel
    linkageType: ''
    returnType: "ipmi::RspType<uint8_t,  // channel number\n              uint6_t,
      \ // rmcpAuthTypes\n              bool,     // reserved1\n              bool,
      \    // extDataSupport\n              bool,     // anonymousLogin\n              bool,
      \    // nullUsers\n              bool,     // nonNullUsers\n              bool,
      \    // userAuth\n              bool,     // perMessageAuth\n              bool,
      \    // KGStatus\n              uint2_t,  // reserved2\n              bool,
      \    // rmcp\n              bool,     // rmcpp\n              uint6_t,  // reserved3\n
      \             uint24_t, // oemID\n              uint8_t   // oemAuxillary\n
      \             >"
    signature: "ipmi::RspType<uint8_t,  // channel number\n              uint6_t,
      \ // rmcpAuthTypes\n              bool,     // reserved1\n              bool,
      \    // extDataSupport\n              bool,     // anonymousLogin\n              bool,
      \    // nullUsers\n              bool,     // nonNullUsers\n              bool,
      \    // userAuth\n              bool,     // perMessageAuth\n              bool,
      \    // KGStatus\n              uint2_t,  // reserved2\n              bool,
      \    // rmcp\n              bool,     // rmcpp\n              uint6_t,  // reserved3\n
      \             uint24_t, // oemID\n              uint8_t   // oemAuxillary\n
      \             > ipmiGetChannelAuthenticationCapabilities(\n        ipmi::Context::ptr
      ctx, uint4_t chNum, uint3_t reserved1,\n        [[maybe_unused]] bool extData,
      uint4_t privLevel, uint4_t reserved2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::convertCurrentChannelNum
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:509,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:509,1
    - Dst: ipmi::isValidChannel
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:516,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:518,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:523,1
    - Dst: ipmi::getChannelSessionSupport
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:525,1
    - Dst: ipmi::responseActionNotSupportedForChannel
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:527,1
    - Dst: ipmi::ipmiUserIsValidUserId
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:529,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:529,1
    - Dst: ipmi::responseParmOutOfRange
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:531,1
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:537,1
    - Dst: ipmi::ipmiUserSetUserPayloadAccess
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:537,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:538,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:538,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 15
    argCount: 23
    argNames:
    - ctx
    - channel
    - reserved
    - userId
    - operation
    - stdPayload0ipmiReserved
    - stdPayload1SOL
    - stdPayload2
    - stdPayload3
    - stdPayload4
    - stdPayload5
    - stdPayload6
    - stdPayload7
    - stdPayloadEnables2Reserved
    - oemPayload0
    - oemPayload1
    - oemPayload2
    - oemPayload3
    - oemPayload4
    - oemPayload5
    - oemPayload6
    - oemPayload7
    - oemPayloadEnables2Reserved
    argTypes:
    - ipmi::Context::ptr
    - uint4_t
    - uint4_t
    - uint6_t
    - uint2_t
    - bool
    - bool
    - bool
    - bool
    - bool
    - bool
    - bool
    - bool
    - uint8_t
    - bool
    - bool
    - bool
    - bool
    - bool
    - bool
    - bool
    - bool
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 490
    functionDepth: 2
    functionLinenumber: 490
    functionLinenumberEnd: 540
    functionName: ipmi::ipmiSetUserPayloadAccess
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/usercommands.cpp
    functionUses: 0
    functionsReached:
    - ipmi::convertCurrentChannelNum
    - ipmi::responseParmOutOfRange
    - ipmi::getChannelSessionSupport
    - ipmi::isValidChannel
    - static_cast<uint8_t>
    - ipmi::responseInvalidFieldRequest
    - ipmi::ipmiUserSetUserPayloadAccess
    - ipmi::response
    - ipmi::responseActionNotSupportedForChannel
    - ipmi::ipmiUserIsValidUserId
    linkageType: ''
    returnType: ipmi::RspType<>
    signature: "ipmi::RspType<> ipmiSetUserPayloadAccess(\n    ipmi::Context::ptr
      ctx,\n\n    uint4_t channel, uint4_t reserved,\n\n    uint6_t userId, uint2_t
      operation,\n\n    bool stdPayload0ipmiReserved, bool stdPayload1SOL, bool stdPayload2,\n
      \   bool stdPayload3, bool stdPayload4, bool stdPayload5, bool stdPayload6,\n
      \   bool stdPayload7,\n\n    uint8_t stdPayloadEnables2Reserved,\n\n    bool
      oemPayload0, bool oemPayload1, bool oemPayload2, bool oemPayload3,\n    bool
      oemPayload4, bool oemPayload5, bool oemPayload6, bool oemPayload7,\n\n    uint8_t
      oemPayloadEnables2Reserved)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::convertCurrentChannelNum
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:604,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:604,1
    - Dst: ipmi::isValidChannel
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:606,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:608,1
    - Dst: ipmi::getChannelSessionSupport
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:610,1
    - Dst: ipmi::responseActionNotSupportedForChannel
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:612,1
    - Dst: ipmi::ipmiUserIsValidUserId
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:614,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:614,1
    - Dst: ipmi::responseParmOutOfRange
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:616,1
    - Dst: ipmi::ipmiUserGetUserPayloadAccess
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:621,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:622,1
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:625,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:628,1
    - Dst: PayloadAccess::stdPayloadEnables1::test
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:629,1
    - Dst: PayloadAccess::stdPayloadEnables1::test
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:630,1
    - Dst: PayloadAccess::stdPayloadEnables1::test
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:631,1
    - Dst: PayloadAccess::stdPayloadEnables1::test
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:632,1
    - Dst: PayloadAccess::stdPayloadEnables1::test
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:633,1
    - Dst: PayloadAccess::stdPayloadEnables1::test
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:634,1
    - Dst: PayloadAccess::stdPayloadEnables1::test
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:635,1
    - Dst: PayloadAccess::stdPayloadEnables1::test
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:636,1
    - Dst: PayloadAccess::oemPayloadEnables1::test
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:640,1
    - Dst: PayloadAccess::oemPayloadEnables1::test
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:641,1
    - Dst: PayloadAccess::oemPayloadEnables1::test
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:642,1
    - Dst: PayloadAccess::oemPayloadEnables1::test
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:643,1
    - Dst: PayloadAccess::oemPayloadEnables1::test
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:644,1
    - Dst: PayloadAccess::oemPayloadEnables1::test
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:645,1
    - Dst: PayloadAccess::oemPayloadEnables1::test
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:646,1
    - Dst: PayloadAccess::oemPayloadEnables1::test
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:647,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 5
    argNames:
    - ctx
    - channel
    - reserved1
    - userId
    - reserved2
    argTypes:
    - ipmi::Context::ptr
    - uint4_t
    - uint4_t
    - uint6_t
    - uint2_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 575
    functionDepth: 2
    functionLinenumber: 575
    functionLinenumberEnd: 650
    functionName: ipmi::ipmiGetUserPayloadAccess
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/usercommands.cpp
    functionUses: 0
    functionsReached:
    - ipmi::convertCurrentChannelNum
    - ipmi::responseSuccess
    - ipmi::responseParmOutOfRange
    - ipmi::getChannelSessionSupport
    - ipmi::isValidChannel
    - static_cast<uint8_t>
    - ipmi::responseInvalidFieldRequest
    - ipmi::ipmiUserGetUserPayloadAccess
    - PayloadAccess::oemPayloadEnables1::test
    - ipmi::response
    - PayloadAccess::stdPayloadEnables1::test
    - ipmi::responseActionNotSupportedForChannel
    - ipmi::ipmiUserIsValidUserId
    linkageType: ''
    returnType: "ipmi::RspType<bool,    // stdPayload0ipmiReserved\n              bool,
      \   // stdPayload1SOL\n              bool,    // stdPayload2\n              bool,
      \   // stdPayload3\n              bool,    // stdPayload4\n              bool,
      \   // stdPayload5\n              bool,    // stdPayload6\n              bool,
      \   // stdPayload7\n\n              uint8_t, // stdPayloadEnables2Reserved\n\n
      \             bool,    // oemPayload0\n              bool,    // oemPayload1\n
      \             bool,    // oemPayload2\n              bool,    // oemPayload3\n
      \             bool,    // oemPayload4\n              bool,    // oemPayload5\n
      \             bool,    // oemPayload6\n              bool,    // oemPayload7\n\n
      \             uint8_t  // oemPayloadEnables2Reserved\n              >"
    signature: "ipmi::RspType<bool,    // stdPayload0ipmiReserved\n              bool,
      \   // stdPayload1SOL\n              bool,    // stdPayload2\n              bool,
      \   // stdPayload3\n              bool,    // stdPayload4\n              bool,
      \   // stdPayload5\n              bool,    // stdPayload6\n              bool,
      \   // stdPayload7\n\n              uint8_t, // stdPayloadEnables2Reserved\n\n
      \             bool,    // oemPayload0\n              bool,    // oemPayload1\n
      \             bool,    // oemPayload2\n              bool,    // oemPayload3\n
      \             bool,    // oemPayload4\n              bool,    // oemPayload5\n
      \             bool,    // oemPayload6\n              bool,    // oemPayload7\n\n
      \             uint8_t  // oemPayloadEnables2Reserved\n              > ipmiGetUserPayloadAccess(ipmi::Context::ptr
      ctx,\n\n                             uint4_t channel, uint4_t reserved1,\n\n
      \                            uint6_t userId, uint2_t reserved2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: post_work
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:655,1
    - Dst: ipmi::ipmiUserInit
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:655,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:656,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:660,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:664,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:668,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:672,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:676,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:681,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 653
    functionDepth: 2
    functionLinenumber: 653
    functionLinenumberEnd: 690
    functionName: ipmi::registerUserIpmiFunctions
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/usercommands.cpp
    functionUses: 0
    functionsReached:
    - ipmi::ipmiUserInit
    - ipmi::registerHandler
    - post_work
    linkageType: ''
    returnType: void
    signature: void registerUserIpmiFunctions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: ipmi::responsePasswdFailMismatch
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/usercommands.cpp
    functionUses: 1
    functionsReached:
    - ipmi::response
    linkageType: ''
    returnType: auto
    signature: auto responsePasswdFailMismatch()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::optional<uint8_t>::value_or
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:71,1
    - Dst: ipmi::ipmiUserIsValidPrivilege
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:73,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:73,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:75,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:76,1
    - Dst: ipmi::convertCurrentChannelNum
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:80,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:80,1
    - Dst: ipmi::isValidChannel
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:81,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:83,1
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:85,1
    - Dst: ipmi::getChannelSessionSupport
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:87,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:89,1
    - Dst: ipmi::responseActionNotSupportedForChannel
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:90,1
    - Dst: ipmi::ipmiUserIsValidUserId
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:92,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:92,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:94,1
    - Dst: ipmi::responseParmOutOfRange
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:95,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:101,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:102,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:103,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:105,1
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:106,1
    - Dst: ipmi::ipmiUserSetPrivilegeAccess
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:107,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:107,1
    - Dst: static_cast<bool>
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:108,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 11
    argNames:
    - ctx
    - channel
    - ipmiEnabled
    - linkAuthEnabled
    - accessCallback
    - bitsUpdate
    - userId
    - reserved1
    - privilege
    - reserved2
    - sessionLimit
    argTypes:
    - ipmi::Context::ptr
    - uint4_t
    - uint1_t
    - uint1_t
    - uint1_t
    - uint1_t
    - uint6_t
    - uint2_t
    - uint4_t
    - uint4_t
    - std::optional<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 109
    functionName: ipmi::ipmiSetUserAccess
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/usercommands.cpp
    functionUses: 0
    functionsReached:
    - ipmi::convertCurrentChannelNum
    - ipmi::responseParmOutOfRange
    - ipmi::getChannelSessionSupport
    - std::optional<uint8_t>::value_or
    - static_cast<bool>
    - ipmi::responseInvalidFieldRequest
    - static_cast<uint8_t>
    - ipmi::isValidChannel
    - ipmi::ipmiUserIsValidPrivilege
    - lg2::debug
    - ipmi::ipmiUserSetPrivilegeAccess
    - ipmi::response
    - ipmi::ipmiUserIsValidUserId
    - ipmi::responseActionNotSupportedForChannel
    linkageType: ''
    returnType: ipmi::RspType<>
    signature: "ipmi::RspType<> ipmiSetUserAccess(\n    ipmi::Context::ptr ctx, uint4_t
      channel, uint1_t ipmiEnabled,\n    uint1_t linkAuthEnabled, uint1_t accessCallback,
      uint1_t bitsUpdate,\n\n    uint6_t userId, uint2_t reserved1,\n\n    uint4_t
      privilege, uint4_t reserved2,\n\n    std::optional<uint8_t> sessionLimit)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::convertCurrentChannelNum
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:152,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:152,1
    - Dst: ipmi::isValidChannel
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:154,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:156,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:157,1
    - Dst: ipmi::getChannelSessionSupport
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:160,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:162,1
    - Dst: ipmi::responseActionNotSupportedForChannel
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:163,1
    - Dst: ipmi::ipmiUserIsValidUserId
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:165,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:165,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:167,1
    - Dst: ipmi::responseParmOutOfRange
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:168,1
    - Dst: ipmi::ipmiUserGetAllCounts
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:173,1
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:176,1
    - Dst: ipmi::ipmiUserCheckEnabled
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:181,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:181,1
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:184,1
    - Dst: ipmi::ipmiUserGetPrivilegeAccess
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:190,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:190,1
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:194,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:197,1
    - Dst: static_cast<uint6_t>
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:198,1
    - Dst: static_cast<uint6_t>
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:200,1
    - Dst: static_cast<uint6_t>
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:202,1
    - Dst: static_cast<uint4_t>
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:204,1
    - Dst: static_cast<uint1_t>
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:205,1
    - Dst: static_cast<uint1_t>
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:206,1
    - Dst: static_cast<uint1_t>
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:207,1
    - Dst: static_cast<uint1_t>
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:208,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 5
    argNames:
    - ctx
    - channel
    - reserved1
    - userId
    - reserved2
    argTypes:
    - ipmi::Context::ptr
    - uint4_t
    - uint4_t
    - uint6_t
    - uint2_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 209
    functionName: ipmi::ipmiGetUserAccess
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/usercommands.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint4_t>
    - ipmi::convertCurrentChannelNum
    - ipmi::responseSuccess
    - ipmi::responseParmOutOfRange
    - ipmi::getChannelSessionSupport
    - ipmi::ipmiUserGetAllCounts
    - ipmi::ipmiUserCheckEnabled
    - static_cast<uint1_t>
    - ipmi::isValidChannel
    - static_cast<uint8_t>
    - ipmi::responseInvalidFieldRequest
    - lg2::debug
    - ipmi::ipmiUserGetPrivilegeAccess
    - ipmi::response
    - ipmi::responseActionNotSupportedForChannel
    - ipmi::ipmiUserIsValidUserId
    - static_cast<uint6_t>
    linkageType: ''
    returnType: "ipmi::RspType<uint6_t, // max channel users\n              uint2_t,
      // reserved1\n\n              uint6_t, // enabled users count\n              uint2_t,
      // enabled status\n\n              uint6_t, // fixed users count\n              uint2_t,
      // reserved2\n\n              uint4_t, // privilege\n              uint1_t,
      // ipmi messaging state\n              uint1_t, // link authentication state\n
      \             uint1_t, // access callback state\n              uint1_t  // reserved3\n
      \             >"
    signature: "ipmi::RspType<uint6_t, // max channel users\n              uint2_t,
      // reserved1\n\n              uint6_t, // enabled users count\n              uint2_t,
      // enabled status\n\n              uint6_t, // fixed users count\n              uint2_t,
      // reserved2\n\n              uint4_t, // privilege\n              uint1_t,
      // ipmi messaging state\n              uint1_t, // link authentication state\n
      \             uint1_t, // access callback state\n              uint1_t  // reserved3\n
      \             > ipmiGetUserAccess(ipmi::Context::ptr ctx, uint4_t channel,\n
      \                     uint4_t reserved1,\n\n                      uint6_t userId,
      uint2_t reserved2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:225,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:227,1
    - Dst: ipmi::ipmiUserIsValidUserId
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:228,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:230,1
    - Dst: ipmi::responseParmOutOfRange
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:231,1
    - Dst: strnlen
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:234,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:234,1
    - Dst: data
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:234,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:236,1
    - Dst: data
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:236,1
    - Dst: ipmi::ipmiUserSetUserName
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:239,1
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:240,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - ctx
    - id
    - reserved
    - ' name'
    argTypes:
    - ipmi::Context::ptr
    - uint6_t
    - uint2_t
    - std::array<uint8_t, ipmi::ipmiMaxUserName>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 219
    functionDepth: 2
    functionLinenumber: 219
    functionLinenumberEnd: 241
    functionName: ipmi::ipmiSetUserName
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/usercommands.cpp
    functionUses: 0
    functionsReached:
    - ipmi::responseParmOutOfRange
    - strnlen
    - ipmi::responseInvalidFieldRequest
    - static_cast<uint8_t>
    - data
    - ipmi::ipmiUserSetUserName
    - lg2::debug
    - ipmi::response
    - reinterpret_cast<const char*>
    - ipmi::ipmiUserIsValidUserId
    linkageType: ''
    returnType: ipmi::RspType<>
    signature: "ipmi::RspType<> ipmiSetUserName(\n    [[maybe_unused]] ipmi::Context::ptr
      ctx, uint6_t id, uint2_t reserved,\n    const std::array<uint8_t, ipmi::ipmiMaxUserName>&
      name)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:256,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:259,1
    - Dst: ipmi::ipmiUserGetUserName
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:261,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:263,1
    - Dst: ipmi::responseParmOutOfRange
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:265,1
    - Dst: std::string::size
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:268,1
    - Dst: ipmi::responseUnspecifiedError
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:270,1
    - Dst: std::fill
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:273,1
    - Dst: std::array::begin
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:273,1
    - Dst: std::array::end
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:273,1
    - Dst: std::copy
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:274,1
    - Dst: std::string::begin
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:274,1
    - Dst: std::string::end
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:274,1
    - Dst: std::array::begin
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:274,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:275,1
    - Dst: std::move
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:275,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - ctx
    - id
    - reserved
    argTypes:
    - ipmi::Context::ptr
    - uint6_t
    - uint2_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 250
    functionDepth: 2
    functionLinenumber: 250
    functionLinenumberEnd: 276
    functionName: ipmi::ipmiGetUserName
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/usercommands.cpp
    functionUses: 0
    functionsReached:
    - ipmi::responseSuccess
    - ipmi::responseUnspecifiedError
    - std::array::begin
    - ipmi::responseParmOutOfRange
    - ipmi::ipmiUserGetUserName
    - std::array::end
    - std::fill
    - std::string::end
    - std::string::begin
    - ipmi::responseInvalidFieldRequest
    - static_cast<uint8_t>
    - std::copy
    - lg2::debug
    - std::move
    - std::string::size
    linkageType: ''
    returnType: ipmi::RspType<std::array<uint8_t, ipmi::ipmiMaxUserName>>
    signature: "ipmi::RspType<std::array<uint8_t, ipmi::ipmiMaxUserName>> ipmiGetUserName([[maybe_unused]]
      ipmi::Context::ptr ctx, uint6_t id,\n                    uint2_t reserved)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:292,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:293,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:304,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:305,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:307,1
    - Dst: ipmi::responseReqDataLenInvalid
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:308,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:311,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:313,1
    - Dst: ipmi::ipmiUserGetUserName
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:315,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:317,1
    - Dst: ipmi::responseParmOutOfRange
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:319,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:326,1
    - Dst: data
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:326,1
    - Dst: ipmi::ipmiUserSetUserPassword
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:327,1
    - Dst: SecureString::data
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:327,1
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:328,1
    - Dst: ipmi::ipmiUserUpdateEnabledState
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:333,1
    - Dst: static_cast<bool>
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:333,1
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:334,1
    - Dst: ipmi::ipmiUserGetPassword
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:338,1
    - Dst: SecureString::size
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:340,1
    - Dst: SecureString::resize
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:342,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:345,1
    - Dst: data
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:345,1
    - Dst: SecureString::size
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:350,1
    - Dst: SecureString::size
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:351,1
    - Dst: std::array::data
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:355,1
    - Dst: SecureString::data
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:359,1
    - Dst: CRYPTO_memcmp
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:361,1
    - Dst: SecureString::data
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:361,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:365,1
    - Dst: ipmi::responsePasswdFailMismatch
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:367,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:369,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:371,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 36
    argCount: 7
    argNames:
    - ctx
    - id
    - reserved1
    - pwLen20
    - operation
    - reserved2
    - ' userPassword'
    argTypes:
    - ipmi::Context::ptr
    - uint6_t
    - bool
    - bool
    - uint2_t
    - uint6_t
    - SecureBuffer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 285
    functionDepth: 2
    functionLinenumber: 285
    functionLinenumberEnd: 372
    functionName: ipmi::ipmiSetUserPassword
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/usercommands.cpp
    functionUses: 0
    functionsReached:
    - ipmi::responseSuccess
    - ipmi::responseParmOutOfRange
    - static_cast<bool>
    - SecureString::size
    - static_cast<uint8_t>
    - data
    - ipmi::response
    - SecureString::resize
    - std::array::data
    - ipmi::ipmiUserGetUserName
    - ipmi::ipmiUserGetPassword
    - SecureString::data
    - ipmi::ipmiUserUpdateEnabledState
    - ipmi::responsePasswdFailMismatch
    - size
    - ipmi::responseInvalidFieldRequest
    - ipmi::ipmiUserSetUserPassword
    - lg2::debug
    - reinterpret_cast<const char*>
    - CRYPTO_memcmp
    - ipmi::responseReqDataLenInvalid
    linkageType: ''
    returnType: ipmi::RspType<>
    signature: "ipmi::RspType<> ipmiSetUserPassword([[maybe_unused]] ipmi::Context::ptr
      ctx, uint6_t id,\n                        bool reserved1, bool pwLen20, uint2_t
      operation,\n                        uint6_t reserved2, SecureBuffer& userPassword)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::convertCurrentChannelNum
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:422,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:422,1
    - Dst: ipmi::isValidChannel
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:424,1
    - Dst: ipmi::isValidPrivLimit
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:425,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:425,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:427,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:428,1
    - Dst: ipmi::getChannelSessionSupport
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:431,1
    - Dst: lg2::debug
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:433,1
    - Dst: ipmi::responseActionNotSupportedForChannel
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:434,1
    - Dst: ipmi::ipmiUserGetAllCounts
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:454,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:457,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 6
    argNames:
    - ctx
    - chNum
    - reserved1
    - extData
    - privLevel
    - reserved2
    argTypes:
    - ipmi::Context::ptr
    - uint4_t
    - uint3_t
    - bool
    - uint4_t
    - uint4_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 400
    functionDepth: 2
    functionLinenumber: 400
    functionLinenumberEnd: 461
    functionName: ipmi::ipmiGetChannelAuthenticationCapabilities
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/usercommands.cpp
    functionUses: 0
    functionsReached:
    - ipmi::convertCurrentChannelNum
    - ipmi::responseSuccess
    - ipmi::getChannelSessionSupport
    - ipmi::ipmiUserGetAllCounts
    - ipmi::isValidPrivLimit
    - ipmi::isValidChannel
    - static_cast<uint8_t>
    - ipmi::responseInvalidFieldRequest
    - lg2::debug
    - ipmi::responseActionNotSupportedForChannel
    linkageType: ''
    returnType: "ipmi::RspType<uint8_t,  // channel number\n              uint6_t,
      \ // rmcpAuthTypes\n              bool,     // reserved1\n              bool,
      \    // extDataSupport\n              bool,     // anonymousLogin\n              bool,
      \    // nullUsers\n              bool,     // nonNullUsers\n              bool,
      \    // userAuth\n              bool,     // perMessageAuth\n              bool,
      \    // KGStatus\n              uint2_t,  // reserved2\n              bool,
      \    // rmcp\n              bool,     // rmcpp\n              uint6_t,  // reserved3\n
      \             uint24_t, // oemID\n              uint8_t   // oemAuxillary\n
      \             >"
    signature: "ipmi::RspType<uint8_t,  // channel number\n              uint6_t,
      \ // rmcpAuthTypes\n              bool,     // reserved1\n              bool,
      \    // extDataSupport\n              bool,     // anonymousLogin\n              bool,
      \    // nullUsers\n              bool,     // nonNullUsers\n              bool,
      \    // userAuth\n              bool,     // perMessageAuth\n              bool,
      \    // KGStatus\n              uint2_t,  // reserved2\n              bool,
      \    // rmcp\n              bool,     // rmcpp\n              uint6_t,  // reserved3\n
      \             uint24_t, // oemID\n              uint8_t   // oemAuxillary\n
      \             > ipmiGetChannelAuthenticationCapabilities(\n        ipmi::Context::ptr
      ctx, uint4_t chNum, uint3_t reserved1,\n        [[maybe_unused]] bool extData,
      uint4_t privLevel, uint4_t reserved2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::convertCurrentChannelNum
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:509,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:509,1
    - Dst: ipmi::isValidChannel
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:516,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:518,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:523,1
    - Dst: ipmi::getChannelSessionSupport
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:525,1
    - Dst: ipmi::responseActionNotSupportedForChannel
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:527,1
    - Dst: ipmi::ipmiUserIsValidUserId
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:529,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:529,1
    - Dst: ipmi::responseParmOutOfRange
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:531,1
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:537,1
    - Dst: ipmi::ipmiUserSetUserPayloadAccess
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:537,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:538,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:538,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 15
    argCount: 23
    argNames:
    - ctx
    - channel
    - reserved
    - userId
    - operation
    - stdPayload0ipmiReserved
    - stdPayload1SOL
    - stdPayload2
    - stdPayload3
    - stdPayload4
    - stdPayload5
    - stdPayload6
    - stdPayload7
    - stdPayloadEnables2Reserved
    - oemPayload0
    - oemPayload1
    - oemPayload2
    - oemPayload3
    - oemPayload4
    - oemPayload5
    - oemPayload6
    - oemPayload7
    - oemPayloadEnables2Reserved
    argTypes:
    - ipmi::Context::ptr
    - uint4_t
    - uint4_t
    - uint6_t
    - uint2_t
    - bool
    - bool
    - bool
    - bool
    - bool
    - bool
    - bool
    - bool
    - uint8_t
    - bool
    - bool
    - bool
    - bool
    - bool
    - bool
    - bool
    - bool
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 490
    functionDepth: 2
    functionLinenumber: 490
    functionLinenumberEnd: 540
    functionName: ipmi::ipmiSetUserPayloadAccess
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/usercommands.cpp
    functionUses: 0
    functionsReached:
    - ipmi::convertCurrentChannelNum
    - ipmi::responseParmOutOfRange
    - ipmi::getChannelSessionSupport
    - ipmi::isValidChannel
    - static_cast<uint8_t>
    - ipmi::responseInvalidFieldRequest
    - ipmi::ipmiUserSetUserPayloadAccess
    - ipmi::response
    - ipmi::responseActionNotSupportedForChannel
    - ipmi::ipmiUserIsValidUserId
    linkageType: ''
    returnType: ipmi::RspType<>
    signature: "ipmi::RspType<> ipmiSetUserPayloadAccess(\n    ipmi::Context::ptr
      ctx,\n\n    uint4_t channel, uint4_t reserved,\n\n    uint6_t userId, uint2_t
      operation,\n\n    bool stdPayload0ipmiReserved, bool stdPayload1SOL, bool stdPayload2,\n
      \   bool stdPayload3, bool stdPayload4, bool stdPayload5, bool stdPayload6,\n
      \   bool stdPayload7,\n\n    uint8_t stdPayloadEnables2Reserved,\n\n    bool
      oemPayload0, bool oemPayload1, bool oemPayload2, bool oemPayload3,\n    bool
      oemPayload4, bool oemPayload5, bool oemPayload6, bool oemPayload7,\n\n    uint8_t
      oemPayloadEnables2Reserved)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::convertCurrentChannelNum
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:604,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:604,1
    - Dst: ipmi::isValidChannel
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:606,1
    - Dst: ipmi::responseInvalidFieldRequest
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:608,1
    - Dst: ipmi::getChannelSessionSupport
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:610,1
    - Dst: ipmi::responseActionNotSupportedForChannel
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:612,1
    - Dst: ipmi::ipmiUserIsValidUserId
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:614,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:614,1
    - Dst: ipmi::responseParmOutOfRange
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:616,1
    - Dst: ipmi::ipmiUserGetUserPayloadAccess
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:621,1
    - Dst: static_cast<uint8_t>
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:622,1
    - Dst: ipmi::response
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:625,1
    - Dst: ipmi::responseSuccess
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:628,1
    - Dst: PayloadAccess::stdPayloadEnables1::test
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:629,1
    - Dst: PayloadAccess::stdPayloadEnables1::test
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:630,1
    - Dst: PayloadAccess::stdPayloadEnables1::test
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:631,1
    - Dst: PayloadAccess::stdPayloadEnables1::test
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:632,1
    - Dst: PayloadAccess::stdPayloadEnables1::test
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:633,1
    - Dst: PayloadAccess::stdPayloadEnables1::test
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:634,1
    - Dst: PayloadAccess::stdPayloadEnables1::test
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:635,1
    - Dst: PayloadAccess::stdPayloadEnables1::test
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:636,1
    - Dst: PayloadAccess::oemPayloadEnables1::test
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:640,1
    - Dst: PayloadAccess::oemPayloadEnables1::test
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:641,1
    - Dst: PayloadAccess::oemPayloadEnables1::test
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:642,1
    - Dst: PayloadAccess::oemPayloadEnables1::test
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:643,1
    - Dst: PayloadAccess::oemPayloadEnables1::test
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:644,1
    - Dst: PayloadAccess::oemPayloadEnables1::test
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:645,1
    - Dst: PayloadAccess::oemPayloadEnables1::test
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:646,1
    - Dst: PayloadAccess::oemPayloadEnables1::test
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:647,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 5
    argNames:
    - ctx
    - channel
    - reserved1
    - userId
    - reserved2
    argTypes:
    - ipmi::Context::ptr
    - uint4_t
    - uint4_t
    - uint6_t
    - uint2_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 575
    functionDepth: 2
    functionLinenumber: 575
    functionLinenumberEnd: 650
    functionName: ipmi::ipmiGetUserPayloadAccess
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/usercommands.cpp
    functionUses: 0
    functionsReached:
    - ipmi::convertCurrentChannelNum
    - ipmi::responseSuccess
    - ipmi::responseParmOutOfRange
    - ipmi::getChannelSessionSupport
    - ipmi::isValidChannel
    - static_cast<uint8_t>
    - ipmi::responseInvalidFieldRequest
    - ipmi::ipmiUserGetUserPayloadAccess
    - PayloadAccess::oemPayloadEnables1::test
    - ipmi::response
    - PayloadAccess::stdPayloadEnables1::test
    - ipmi::responseActionNotSupportedForChannel
    - ipmi::ipmiUserIsValidUserId
    linkageType: ''
    returnType: "ipmi::RspType<bool,    // stdPayload0ipmiReserved\n              bool,
      \   // stdPayload1SOL\n              bool,    // stdPayload2\n              bool,
      \   // stdPayload3\n              bool,    // stdPayload4\n              bool,
      \   // stdPayload5\n              bool,    // stdPayload6\n              bool,
      \   // stdPayload7\n\n              uint8_t, // stdPayloadEnables2Reserved\n\n
      \             bool,    // oemPayload0\n              bool,    // oemPayload1\n
      \             bool,    // oemPayload2\n              bool,    // oemPayload3\n
      \             bool,    // oemPayload4\n              bool,    // oemPayload5\n
      \             bool,    // oemPayload6\n              bool,    // oemPayload7\n\n
      \             uint8_t  // oemPayloadEnables2Reserved\n              >"
    signature: "ipmi::RspType<bool,    // stdPayload0ipmiReserved\n              bool,
      \   // stdPayload1SOL\n              bool,    // stdPayload2\n              bool,
      \   // stdPayload3\n              bool,    // stdPayload4\n              bool,
      \   // stdPayload5\n              bool,    // stdPayload6\n              bool,
      \   // stdPayload7\n\n              uint8_t, // stdPayloadEnables2Reserved\n\n
      \             bool,    // oemPayload0\n              bool,    // oemPayload1\n
      \             bool,    // oemPayload2\n              bool,    // oemPayload3\n
      \             bool,    // oemPayload4\n              bool,    // oemPayload5\n
      \             bool,    // oemPayload6\n              bool,    // oemPayload7\n\n
      \             uint8_t  // oemPayloadEnables2Reserved\n              > ipmiGetUserPayloadAccess(ipmi::Context::ptr
      ctx,\n\n                             uint4_t channel, uint4_t reserved1,\n\n
      \                            uint6_t userId, uint2_t reserved2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: post_work
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:655,1
    - Dst: ipmi::ipmiUserInit
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:655,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:656,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:660,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:664,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:668,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:672,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:676,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:681,1
    - Dst: ipmi::registerHandler
      Src: /src/phosphor-host-ipmid/user_channel/usercommands.cpp:685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 653
    functionDepth: 2
    functionLinenumber: 653
    functionLinenumberEnd: 690
    functionName: ipmi::registerUserIpmiFunctions
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/usercommands.cpp
    functionUses: 0
    functionsReached:
    - ipmi::ipmiUserInit
    - ipmi::registerHandler
    - post_work
    linkageType: ''
    returnType: void
    signature: void registerUserIpmiFunctions()
  - 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: ~PasswdMgr()
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/passwd_mgr.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PasswdMgr()
  - 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: ipmi::PasswdMgr::PasswdMgr
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/passwd_mgr.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PasswdMgr(const PasswdMgr&)
  - 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 PasswdMgr&)'
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/passwd_mgr.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PasswdMgr
    signature: PasswdMgr & operator=(const PasswdMgr&)
  - 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: ipmi::PasswdMgr::PasswdMgr
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/passwd_mgr.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PasswdMgr(PasswdMgr&&)
  - 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=(PasswdMgr&&)'
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/passwd_mgr.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PasswdMgr
    signature: PasswdMgr & operator=(PasswdMgr&&)
  - 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: ~PasswdMgr()
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/passwd_mgr.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PasswdMgr()
  - 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: ipmi::PasswdMgr::PasswdMgr
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/passwd_mgr.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PasswdMgr(const PasswdMgr&)
  - 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 PasswdMgr&)'
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/passwd_mgr.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PasswdMgr
    signature: PasswdMgr & operator=(const PasswdMgr&)
  - 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: ipmi::PasswdMgr::PasswdMgr
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/passwd_mgr.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PasswdMgr(PasswdMgr&&)
  - 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=(PasswdMgr&&)'
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/passwd_mgr.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PasswdMgr
    signature: PasswdMgr & operator=(PasswdMgr&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strnlen
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.hpp:94,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.hpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: ipmi::safeUsernameLength
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_mgmt.hpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char*>
    - strnlen
    linkageType: ''
    returnType: size_t
    signature: size_t safeUsernameLength(const uint8_t* buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.hpp:99,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.hpp:99,1
    - Dst: ipmi::safeUsernameLength
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.hpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 101
    functionName: ipmi::safeUsernameString
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_mgmt.hpp
    functionUses: 2
    functionsReached:
    - ipmi::safeUsernameLength
    - std::string
    - reinterpret_cast<const char*>
    linkageType: ''
    returnType: std::string
    signature: std::string safeUsernameString(const uint8_t* buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::safeUsernameLength
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.hpp:105,1
    - Dst: assign
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.hpp:106,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.hpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' str'
    - buf
    argTypes:
    - std::string
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: ipmi::safeUsernameAssign
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_mgmt.hpp
    functionUses: 0
    functionsReached:
    - assign
    - ipmi::safeUsernameLength
    - reinterpret_cast<const char*>
    linkageType: ''
    returnType: void
    signature: void safeUsernameAssign(std::string& str, const uint8_t* buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::memset
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.hpp:112,1
    - Dst: std::min
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.hpp:113,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.hpp:113,1
    - Dst: std::memcpy
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.hpp:114,1
    - Dst: data
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.hpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - buf
    - bufSize
    - ' str'
    argTypes:
    - uint8_t*
    - size_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 115
    functionName: ipmi::safeUsernameCopyToBuffer
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_mgmt.hpp
    functionUses: 2
    functionsReached:
    - std::memset
    - std::min
    - size
    - data
    - std::memcpy
    linkageType: ''
    returnType: void
    signature: "void safeUsernameCopyToBuffer(uint8_t* buf, size_t bufSize,\n                                     const
      std::string& str)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 194
    functionName: ipmi::UserAccess::UserAccess
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_mgmt.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UserAccess(const UserAccess&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 195
    functionName: '& operator=(const UserAccess&)'
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_mgmt.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UserAccess
    signature: UserAccess & operator=(const UserAccess&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 196
    functionName: ipmi::UserAccess::UserAccess
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_mgmt.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UserAccess(UserAccess&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 197
    functionName: '& operator=(UserAccess&&)'
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_mgmt.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UserAccess
    signature: UserAccess & operator=(UserAccess&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strnlen
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.hpp:94,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.hpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: ipmi::safeUsernameLength
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_mgmt.hpp
    functionUses: 2
    functionsReached:
    - reinterpret_cast<const char*>
    - strnlen
    linkageType: ''
    returnType: size_t
    signature: size_t safeUsernameLength(const uint8_t* buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.hpp:99,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.hpp:99,1
    - Dst: ipmi::safeUsernameLength
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.hpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 101
    functionName: ipmi::safeUsernameString
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_mgmt.hpp
    functionUses: 2
    functionsReached:
    - ipmi::safeUsernameLength
    - std::string
    - reinterpret_cast<const char*>
    linkageType: ''
    returnType: std::string
    signature: std::string safeUsernameString(const uint8_t* buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipmi::safeUsernameLength
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.hpp:105,1
    - Dst: assign
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.hpp:106,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.hpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' str'
    - buf
    argTypes:
    - std::string
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: ipmi::safeUsernameAssign
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_mgmt.hpp
    functionUses: 0
    functionsReached:
    - assign
    - ipmi::safeUsernameLength
    - reinterpret_cast<const char*>
    linkageType: ''
    returnType: void
    signature: void safeUsernameAssign(std::string& str, const uint8_t* buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::memset
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.hpp:112,1
    - Dst: std::min
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.hpp:113,1
    - Dst: size
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.hpp:113,1
    - Dst: std::memcpy
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.hpp:114,1
    - Dst: data
      Src: /src/phosphor-host-ipmid/user_channel/user_mgmt.hpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - buf
    - bufSize
    - ' str'
    argTypes:
    - uint8_t*
    - size_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 115
    functionName: ipmi::safeUsernameCopyToBuffer
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_mgmt.hpp
    functionUses: 2
    functionsReached:
    - std::memset
    - std::min
    - size
    - data
    - std::memcpy
    linkageType: ''
    returnType: void
    signature: "void safeUsernameCopyToBuffer(uint8_t* buf, size_t bufSize,\n                                     const
      std::string& str)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 194
    functionName: ipmi::UserAccess::UserAccess
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_mgmt.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UserAccess(const UserAccess&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 195
    functionName: '& operator=(const UserAccess&)'
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_mgmt.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UserAccess
    signature: UserAccess & operator=(const UserAccess&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 196
    functionName: ipmi::UserAccess::UserAccess
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_mgmt.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UserAccess(UserAccess&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 197
    functionName: '& operator=(UserAccess&&)'
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/user_mgmt.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UserAccess
    signature: UserAccess & operator=(UserAccess&&)
  - 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: phosphor::user::shadow::Lock::Lock
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/shadowlock.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Lock(const Lock&)
  - 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 Lock&)'
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/shadowlock.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Lock
    signature: Lock & operator=(const Lock&)
  - 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: phosphor::user::shadow::Lock::Lock
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/shadowlock.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Lock(Lock&&)
  - 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=(Lock&&)'
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/shadowlock.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Lock
    signature: Lock & operator=(Lock&&)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lckpwdf
      Src: /src/phosphor-host-ipmid/user_channel/shadowlock.hpp:33,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/shadowlock.hpp:35,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/user_channel/shadowlock.hpp:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 38
    functionName: phosphor::user::shadow::Lock::Lock
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/shadowlock.hpp
    functionUses: 0
    functionsReached:
    - lg2::error
    - elog<InternalFailure>
    - lckpwdf
    linkageType: ''
    returnType: void
    signature: void Lock()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ulckpwdf
      Src: /src/phosphor-host-ipmid/user_channel/shadowlock.hpp:41,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/shadowlock.hpp:43,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/user_channel/shadowlock.hpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 46
    functionName: ~Lock()
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/shadowlock.hpp
    functionUses: 0
    functionsReached:
    - ulckpwdf
    - lg2::error
    - elog<InternalFailure>
    linkageType: ''
    returnType: void
    signature: void ~Lock()
  - 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: phosphor::user::shadow::Lock::Lock
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/shadowlock.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Lock(const Lock&)
  - 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 Lock&)'
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/shadowlock.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Lock
    signature: Lock & operator=(const Lock&)
  - 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: phosphor::user::shadow::Lock::Lock
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/shadowlock.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Lock(Lock&&)
  - 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=(Lock&&)'
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/shadowlock.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Lock
    signature: Lock & operator=(Lock&&)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lckpwdf
      Src: /src/phosphor-host-ipmid/user_channel/shadowlock.hpp:33,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/shadowlock.hpp:35,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/user_channel/shadowlock.hpp:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 38
    functionName: phosphor::user::shadow::Lock::Lock
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/shadowlock.hpp
    functionUses: 0
    functionsReached:
    - lg2::error
    - elog<InternalFailure>
    - lckpwdf
    linkageType: ''
    returnType: void
    signature: void Lock()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ulckpwdf
      Src: /src/phosphor-host-ipmid/user_channel/shadowlock.hpp:41,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/shadowlock.hpp:43,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/user_channel/shadowlock.hpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 46
    functionName: ~Lock()
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/shadowlock.hpp
    functionUses: 0
    functionsReached:
    - ulckpwdf
    - lg2::error
    - elog<InternalFailure>
    linkageType: ''
    returnType: void
    signature: void ~Lock()
  - 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: phosphor::user::shadow::Lock::Lock
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/shadowlock.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Lock(const Lock&)
  - 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 Lock&)'
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/shadowlock.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Lock
    signature: Lock & operator=(const Lock&)
  - 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: phosphor::user::shadow::Lock::Lock
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/shadowlock.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Lock(Lock&&)
  - 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=(Lock&&)'
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/shadowlock.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Lock
    signature: Lock & operator=(Lock&&)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lckpwdf
      Src: /src/phosphor-host-ipmid/user_channel/shadowlock.hpp:33,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/shadowlock.hpp:35,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/user_channel/shadowlock.hpp:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 38
    functionName: phosphor::user::shadow::Lock::Lock
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/shadowlock.hpp
    functionUses: 0
    functionsReached:
    - lg2::error
    - elog<InternalFailure>
    - lckpwdf
    linkageType: ''
    returnType: void
    signature: void Lock()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ulckpwdf
      Src: /src/phosphor-host-ipmid/user_channel/shadowlock.hpp:41,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/shadowlock.hpp:43,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/user_channel/shadowlock.hpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 46
    functionName: ~Lock()
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/shadowlock.hpp
    functionUses: 0
    functionsReached:
    - ulckpwdf
    - lg2::error
    - elog<InternalFailure>
    linkageType: ''
    returnType: void
    signature: void ~Lock()
  - 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: phosphor::user::shadow::Lock::Lock
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/shadowlock.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Lock(const Lock&)
  - 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 Lock&)'
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/shadowlock.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Lock
    signature: Lock & operator=(const Lock&)
  - 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: phosphor::user::shadow::Lock::Lock
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/shadowlock.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Lock(Lock&&)
  - 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=(Lock&&)'
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/shadowlock.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Lock
    signature: Lock & operator=(Lock&&)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lckpwdf
      Src: /src/phosphor-host-ipmid/user_channel/shadowlock.hpp:33,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/shadowlock.hpp:35,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/user_channel/shadowlock.hpp:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 38
    functionName: phosphor::user::shadow::Lock::Lock
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/shadowlock.hpp
    functionUses: 0
    functionsReached:
    - lg2::error
    - elog<InternalFailure>
    - lckpwdf
    linkageType: ''
    returnType: void
    signature: void Lock()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ulckpwdf
      Src: /src/phosphor-host-ipmid/user_channel/shadowlock.hpp:41,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/shadowlock.hpp:43,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/user_channel/shadowlock.hpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 46
    functionName: ~Lock()
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/shadowlock.hpp
    functionUses: 0
    functionsReached:
    - ulckpwdf
    - lg2::error
    - elog<InternalFailure>
    linkageType: ''
    returnType: void
    signature: void ~Lock()
  - 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: phosphor::user::shadow::Lock::Lock
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/shadowlock.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Lock(const Lock&)
  - 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 Lock&)'
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/shadowlock.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Lock
    signature: Lock & operator=(const Lock&)
  - 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: phosphor::user::shadow::Lock::Lock
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/shadowlock.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Lock(Lock&&)
  - 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=(Lock&&)'
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/shadowlock.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Lock
    signature: Lock & operator=(Lock&&)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lckpwdf
      Src: /src/phosphor-host-ipmid/user_channel/shadowlock.hpp:33,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/shadowlock.hpp:35,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/user_channel/shadowlock.hpp:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 38
    functionName: phosphor::user::shadow::Lock::Lock
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/shadowlock.hpp
    functionUses: 0
    functionsReached:
    - lg2::error
    - elog<InternalFailure>
    - lckpwdf
    linkageType: ''
    returnType: void
    signature: void Lock()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ulckpwdf
      Src: /src/phosphor-host-ipmid/user_channel/shadowlock.hpp:41,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/shadowlock.hpp:43,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/user_channel/shadowlock.hpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 46
    functionName: ~Lock()
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/shadowlock.hpp
    functionUses: 0
    functionsReached:
    - ulckpwdf
    - lg2::error
    - elog<InternalFailure>
    linkageType: ''
    returnType: void
    signature: void ~Lock()
  - 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: phosphor::user::shadow::Lock::Lock
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/shadowlock.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Lock(const Lock&)
  - 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 Lock&)'
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/shadowlock.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Lock
    signature: Lock & operator=(const Lock&)
  - 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: phosphor::user::shadow::Lock::Lock
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/shadowlock.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Lock(Lock&&)
  - 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=(Lock&&)'
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/shadowlock.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Lock
    signature: Lock & operator=(Lock&&)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lckpwdf
      Src: /src/phosphor-host-ipmid/user_channel/shadowlock.hpp:33,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/shadowlock.hpp:35,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/user_channel/shadowlock.hpp:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 38
    functionName: phosphor::user::shadow::Lock::Lock
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/shadowlock.hpp
    functionUses: 0
    functionsReached:
    - lg2::error
    - elog<InternalFailure>
    - lckpwdf
    linkageType: ''
    returnType: void
    signature: void Lock()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ulckpwdf
      Src: /src/phosphor-host-ipmid/user_channel/shadowlock.hpp:41,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/shadowlock.hpp:43,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/user_channel/shadowlock.hpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 46
    functionName: ~Lock()
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/shadowlock.hpp
    functionUses: 0
    functionsReached:
    - ulckpwdf
    - lg2::error
    - elog<InternalFailure>
    linkageType: ''
    returnType: void
    signature: void ~Lock()
  - 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: phosphor::user::shadow::Lock::Lock
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/shadowlock.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Lock(const Lock&)
  - 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 Lock&)'
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/shadowlock.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Lock
    signature: Lock & operator=(const Lock&)
  - 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: phosphor::user::shadow::Lock::Lock
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/shadowlock.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Lock(Lock&&)
  - 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=(Lock&&)'
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/shadowlock.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Lock
    signature: Lock & operator=(Lock&&)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lckpwdf
      Src: /src/phosphor-host-ipmid/user_channel/shadowlock.hpp:33,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/shadowlock.hpp:35,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/user_channel/shadowlock.hpp:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 38
    functionName: phosphor::user::shadow::Lock::Lock
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/shadowlock.hpp
    functionUses: 0
    functionsReached:
    - lg2::error
    - elog<InternalFailure>
    - lckpwdf
    linkageType: ''
    returnType: void
    signature: void Lock()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ulckpwdf
      Src: /src/phosphor-host-ipmid/user_channel/shadowlock.hpp:41,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/shadowlock.hpp:43,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/user_channel/shadowlock.hpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 46
    functionName: ~Lock()
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/shadowlock.hpp
    functionUses: 0
    functionsReached:
    - ulckpwdf
    - lg2::error
    - elog<InternalFailure>
    linkageType: ''
    returnType: void
    signature: void ~Lock()
  - 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: phosphor::user::shadow::Lock::Lock
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/shadowlock.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Lock(const Lock&)
  - 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 Lock&)'
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/shadowlock.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Lock
    signature: Lock & operator=(const Lock&)
  - 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: phosphor::user::shadow::Lock::Lock
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/shadowlock.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Lock(Lock&&)
  - 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=(Lock&&)'
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/shadowlock.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Lock
    signature: Lock & operator=(Lock&&)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lckpwdf
      Src: /src/phosphor-host-ipmid/user_channel/shadowlock.hpp:33,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/shadowlock.hpp:35,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/user_channel/shadowlock.hpp:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 38
    functionName: phosphor::user::shadow::Lock::Lock
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/shadowlock.hpp
    functionUses: 0
    functionsReached:
    - lg2::error
    - elog<InternalFailure>
    - lckpwdf
    linkageType: ''
    returnType: void
    signature: void Lock()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ulckpwdf
      Src: /src/phosphor-host-ipmid/user_channel/shadowlock.hpp:41,1
    - Dst: lg2::error
      Src: /src/phosphor-host-ipmid/user_channel/shadowlock.hpp:43,1
    - Dst: elog<InternalFailure>
      Src: /src/phosphor-host-ipmid/user_channel/shadowlock.hpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 46
    functionName: ~Lock()
    functionSourceFile: /src/phosphor-host-ipmid/user_channel/shadowlock.hpp
    functionUses: 0
    functionsReached:
    - ulckpwdf
    - lg2::error
    - elog<InternalFailure>
    linkageType: ''
    returnType: void
    signature: void ~Lock()
Fuzzer filename: /src/fuzz_fru_area.cpp
Fuzzing method: LLVMFuzzerTestOneInput
included-header-files:
- watchdog_service.hpp
- boost/bimap.hpp
- ctime
- systemd/sd-bus.h
- xyz/openbmc_project/Control/Power/RestorePolicy/server.hpp
- forward_list
- sys/types.h
- xyz/openbmc_project/Led/Group/common.hpp
- shadow.h
- cxxabi.h
- read_fru_data.hpp
- openssl/crypto.h
- linux/i2c.h
- xyz/openbmc_project/State/PowerOnHours/server.hpp
- xyz/openbmc_project/Control/Host/server.hpp
- cmath
- cerrno
- systemintfcmds.hpp
- sdbusplus/bus.hpp
- cstddef
- xyz/openbmc_project/State/Chassis/server.hpp
- sdbusplus/server/object.hpp
- queue
- xyz/openbmc_project/State/Watchdog/server.hpp
- ipmid/message/pack.hpp
- user_mgmt.hpp
- dbus-sdr/sensorutils.hpp
- xyz/openbmc_project/Control/Host/NMI/common.hpp
- iostream
- xyz/openbmc_project/State/Host/server.hpp
- xyz/openbmc_project/Software/Version/server.hpp
- linux/i2c-dev.h
- gtest/gtest.h
- selutility.hpp
- user_layer.hpp
- string.h
- sdbusplus/asio/sd_event.hpp
- xyz/openbmc_project/State/BMC/server.hpp
- algorithm
- stdplus/net/addr/ip.hpp
- boost/callable_traits.hpp
- string
- sys/ioctl.h
- host-cmd-manager.hpp
- ipmid/sessiondef.hpp
- cstdlib
- type_traits
- cinttypes
- host-interface.hpp
- ipmid/utility.hpp
- stddef.h
- systemd/sd-daemon.h
- channel_layer.hpp
- stdplus/fd/ops.hpp
- security/pam_appl.h
- ipmid/entity_map_json.hpp
- sstream
- sdbusplus/asio/connection.hpp
- ipmid-host/cmd.hpp
- xyz/openbmc_project/Sensor/Value/server.hpp
- ipmid-host/cmd-utils.hpp
- openssl/hmac.h
- ipmid/api-types.hpp
- ipmid/oemrouter.hpp
- sdeventplus/event.hpp
- ranges
- apphandler.hpp
- stdplus/str/conv.hpp
- sys_info_param.hpp
- xyz/openbmc_project/Control/Security/RestrictionMode/server.hpp
- oemcommands.hpp
- limits.h
- sdbusplus/asio/object_server.hpp
- openssl/rand.h
- optional
- stdplus/net/addr/ether.hpp
- netinet/in.h
- boost/asio/detached.hpp
- functional
- ipmiallowlist.hpp
- dbus-sdr/sdrutils.hpp
- ipmid/utils.hpp
- dbus-sdr/sensorcommands.hpp
- softoff.hpp
- fruread.hpp
- storageaddsel.hpp
- ipmid/api.h
- memory
- xyz/openbmc_project/Control/Boot/Type/server.hpp
- chassishandler.hpp
- include/ipmid/api-types.hpp
- phosphor-logging/lg2/level.hpp
- gmock/gmock.h
- sdbusplus/message/types.hpp
- user_channel/channel_layer.hpp
- xyz/openbmc_project/Network/EthernetInterface/server.hpp
- sdeventplus/exception.hpp
- tuple
- unordered_set
- string_view
- ipmid/types.hpp
- boost/asio/spawn.hpp
- stdint.h
- openssl/sha.h
- xyz/openbmc_project/Ipmi/Internal/SoftPowerOff/server.hpp
- app/channel.hpp
- ipmid/filter.hpp
- ifaddrs.h
- dbus-sdr/storagecommands.hpp
- xyz/openbmc_project/Control/Boot/Source/server.hpp
- regex
- settings.hpp
- sdeventplus/source/io.hpp
- xyz/openbmc_project/User/Common/error.hpp
- file.hpp
- stdplus/fd/intf.hpp
- channel_mgmt.hpp
- xyz/openbmc_project/Software/RedundancyPriority/common.hpp
- dirent.h
- xyz/openbmc_project/Logging/SEL/error.hpp
- stdio.h
- ipmid/message/unpack.hpp
- sdbusplus/server.hpp
- set
- exception
- boost/container/flat_map.hpp
- stdexcept
- fmt/format.h
- format
- boost/version.hpp
- config.h
- xyz/openbmc_project/Chassis/Control/Power/common.hpp
- xyz/openbmc_project/Network/IP/server.hpp
- phosphor-logging/elog.hpp
- xyz/openbmc_project/Network/IP/common.hpp
- ipmid/sessionhelper.hpp
- xyz/openbmc_project/Chassis/Intrusion/client.hpp
- sdeventplus/source/signal.hpp
- xyz/openbmc_project/Control/Boot/Mode/server.hpp
- stdplus/signal.hpp
- boost/system/error_code.hpp
- cstdint
- sensorhandler.hpp
- dlfcn.h
- arpa/inet.h
- numeric
- future
- sdbusplus/message.hpp
- bitset
- ipmid/handler.hpp
- transporthandler.hpp
- xyz/openbmc_project/State/Host/error.hpp
- app/watchdog.hpp
- CLI/CLI.hpp
- xyz/openbmc_project/Object/Enable/common.hpp
- any
- ipmi_fru_info_area.hpp
- xyz/openbmc_project/Condition/HostFirmware/server.hpp
- boost/algorithm/string.hpp
- sys/stat.h
- dcmihandler.hpp
- sdbusplus/timer.hpp
- xyz/openbmc_project/Software/Activation/server.hpp
- xyz/openbmc_project/Control/Power/ACPIPowerState/server.hpp
- iomanip
- xyz/openbmc_project/Sensor/Threshold/Critical/common.hpp
- span
- nlohmann/json.hpp
- xyz/openbmc_project/Control/Boot/Flags/server.hpp
- channel.hpp
- malloc.h
- boost/asio/io_context.hpp
- xyz/openbmc_project/Logging/Entry/server.hpp
- xyz/openbmc_project/Network/MACAddress/common.hpp
- map
- stdplus/exception.hpp
- passwd_mgr.hpp
- phosphor-logging/lg2.hpp
- chrono
- serialcmd.hpp
- user_channel/cipher_mgmt.hpp
- vector
- sdbusplus/exception.hpp
- stdplus/fd/create.hpp
- filesystem
- array
- net/if.h
- xyz/openbmc_project/Common/error.hpp
- xyz/openbmc_project/Chassis/Buttons/Power/common.hpp
- boost/multiprecision/cpp_int.hpp
- transportconstants.hpp
- utility
- stdplus/net/addr/subnet.hpp
- fcntl.h
- source_location
- stdplus/zstring_view.hpp
- variant
- fstream
- systemd/sd-journal.h
- boost/asio/signal_set.hpp
- xyz/openbmc_project/Sensor/Value/common.hpp
- boost/interprocess/sync/file_lock.hpp
- watchdog.hpp
- usercommands.hpp
- stdplus/raw.hpp
- ipmid/message.hpp
- cstring
- boost/interprocess/sync/scoped_lock.hpp
- xyz/openbmc_project/ObjectMapper/common.hpp
- phosphor-logging/elog-errors.hpp
- xyz/openbmc_project/Network/Neighbor/server.hpp
- sdbusplus/slot.hpp
- sensordatahandler.hpp
- unistd.h
- openssl/evp.h
- shadowlock.hpp
- ipmid/iana.hpp
- unordered_map
- boost/interprocess/sync/named_recursive_mutex.hpp
- cipher_mgmt.hpp
- sdbusplus/bus/match.hpp
- xyz/openbmc_project/Sensor/Threshold/Warning/common.hpp
- charconv
- xyz/openbmc_project/Control/ChassisCapabilities/common.hpp
- error-HostEvent.hpp
- xyz/openbmc_project/Chassis/Buttons/Reset/common.hpp
- ipmid/message/types.hpp
- phosphor-logging/log.hpp
- ipmid/api.hpp
- endian.h
- transport/serialbridge/serialcmd.hpp
- cstdio
report: name
sources:
- function_names:
  - lg2::details::do_log
  - lg2::details::do_log
  source_file: /src/lg2_stub.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - extractString
  - LLVMFuzzerTestOneInput
  source_file: /src/fuzz_fru_area.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/fuzz_payload_unpack.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/fuzz_sensor_utils.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ipmi::sensor::get::nameProperty
  - ipmi::sensor::get::nameLeaf
  - ipmi::sensor::get::nameLeafProperty
  - ipmi::sensor::get::readingAssertion
  - ipmi::sensor::get::readingData
  - ipmi::sensor::get::readingAssertion
  - ipmi::sensor::get::readingData
  - ipmi::sensor::get::nameProperty
  - ipmi::sensor::get::nameLeaf
  - ipmi::sensor::get::nameLeafProperty
  - ipmi::sensor::get::readingAssertion
  - ipmi::sensor::get::readingData
  - ipmi::sensor::get::readingAssertion
  - ipmi::sensor::get::readingData
  - ipmi::sensor::set::readingAssertion
  - ipmi::sensor::set::readingData
  - ipmi::sensor::set::eventdata1
  - ipmi::sensor::set::eventdata2
  - ipmi::sensor::set::eventdata3
  - ipmi::sensor::set::readingAssertion
  - ipmi::sensor::set::readingData
  - ipmi::sensor::set::eventdata1
  - ipmi::sensor::set::eventdata2
  - ipmi::sensor::set::eventdata3
  - ipmi::sensor::get::nameProperty
  - ipmi::sensor::get::nameLeaf
  - ipmi::sensor::get::nameLeafProperty
  - ipmi::sensor::get::readingAssertion
  - ipmi::sensor::get::readingData
  - ipmi::sensor::get::readingAssertion
  - ipmi::sensor::get::readingData
  - ipmi::sensor::get::nameProperty
  - ipmi::sensor::get::nameLeaf
  - ipmi::sensor::get::nameLeafProperty
  - ipmi::sensor::get::readingAssertion
  - ipmi::sensor::get::readingData
  - ipmi::sensor::get::readingAssertion
  - ipmi::sensor::get::readingData
  - ipmi::sensor::set::readingAssertion
  - ipmi::sensor::set::readingData
  - ipmi::sensor::set::eventdata1
  - ipmi::sensor::set::eventdata2
  - ipmi::sensor::set::eventdata3
  - ipmi::sensor::set::readingAssertion
  - ipmi::sensor::set::readingData
  - ipmi::sensor::set::eventdata1
  - ipmi::sensor::set::eventdata2
  - ipmi::sensor::set::eventdata3
  - ipmi::sensor::get::nameProperty
  - ipmi::sensor::get::nameLeaf
  - ipmi::sensor::get::nameLeafProperty
  - ipmi::sensor::get::readingAssertion
  - ipmi::sensor::get::readingData
  - ipmi::sensor::get::readingAssertion
  - ipmi::sensor::get::readingData
  - ipmi::sensor::get::nameProperty
  - ipmi::sensor::get::nameLeaf
  - ipmi::sensor::get::nameLeafProperty
  - ipmi::sensor::get::readingAssertion
  - ipmi::sensor::get::readingData
  - ipmi::sensor::get::readingAssertion
  - ipmi::sensor::get::readingData
  - ipmi::sensor::set::readingAssertion
  - ipmi::sensor::set::readingData
  - ipmi::sensor::set::eventdata1
  - ipmi::sensor::set::eventdata2
  - ipmi::sensor::set::eventdata3
  - ipmi::sensor::set::readingAssertion
  - ipmi::sensor::set::readingData
  - ipmi::sensor::set::eventdata1
  - ipmi::sensor::set::eventdata2
  - ipmi::sensor::set::eventdata3
  - ipmi::sensor::get::nameProperty
  - ipmi::sensor::get::nameLeaf
  - ipmi::sensor::get::nameLeafProperty
  - ipmi::sensor::get::readingAssertion
  - ipmi::sensor::get::readingData
  - ipmi::sensor::get::readingAssertion
  - ipmi::sensor::get::readingData
  - ipmi::sensor::get::nameProperty
  - ipmi::sensor::get::nameLeaf
  - ipmi::sensor::get::nameLeafProperty
  - ipmi::sensor::get::readingAssertion
  - ipmi::sensor::get::readingData
  - ipmi::sensor::get::readingAssertion
  - ipmi::sensor::get::readingData
  - ipmi::sensor::set::readingAssertion
  - ipmi::sensor::set::readingData
  - ipmi::sensor::set::eventdata1
  - ipmi::sensor::set::eventdata2
  - ipmi::sensor::set::eventdata3
  - ipmi::sensor::set::readingAssertion
  - ipmi::sensor::set::readingData
  - ipmi::sensor::set::eventdata1
  - ipmi::sensor::set::eventdata2
  - ipmi::sensor::set::eventdata3
  source_file: /src/phosphor-host-ipmid/sensordatahandler.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ipmi::transport::channelCall
  - ipmi::transport::ObjectLookupCache::ObjectLookupCache
  - ipmi::transport::ObjectLookupCache::iterator::iterator
  - '& operator*()'
  - '* operator->()'
  - ipmi::transport::ObjectLookupCache::begin
  - ipmi::transport::ObjectLookupCache::end
  - ipmi::transport::ObjectLookupCache::get
  - ipmi::transport::findIfAddr
  - ipmi::transport::getIfAddr
  - ipmi::transport::getGatewayProperty
  - ipmi::transport::findStaticNeighbor
  - ipmi::transport::createNeighbor
  - ipmi::transport::setGatewayProperty
  - ipmi::transport::channelCall
  - ipmi::transport::ObjectLookupCache::ObjectLookupCache
  - ipmi::transport::ObjectLookupCache::iterator::iterator
  - '& operator*()'
  - '* operator->()'
  - ipmi::transport::ObjectLookupCache::begin
  - ipmi::transport::ObjectLookupCache::end
  - ipmi::transport::ObjectLookupCache::get
  - ipmi::transport::findIfAddr
  - ipmi::transport::getIfAddr
  - ipmi::transport::getGatewayProperty
  - ipmi::transport::findStaticNeighbor
  - ipmi::transport::createNeighbor
  - ipmi::transport::setGatewayProperty
  - ipmi::transport::channelCall
  - ipmi::transport::ObjectLookupCache::ObjectLookupCache
  - ipmi::transport::ObjectLookupCache::iterator::iterator
  - '& operator*()'
  - '* operator->()'
  - ipmi::transport::ObjectLookupCache::begin
  - ipmi::transport::ObjectLookupCache::end
  - ipmi::transport::ObjectLookupCache::get
  - ipmi::transport::findIfAddr
  - ipmi::transport::getIfAddr
  - ipmi::transport::getGatewayProperty
  - ipmi::transport::findStaticNeighbor
  - ipmi::transport::createNeighbor
  - ipmi::transport::setGatewayProperty
  - ipmi::transport::channelCall
  - ipmi::transport::ObjectLookupCache::ObjectLookupCache
  - ipmi::transport::ObjectLookupCache::iterator::iterator
  - '& operator*()'
  - '* operator->()'
  - ipmi::transport::ObjectLookupCache::begin
  - ipmi::transport::ObjectLookupCache::end
  - ipmi::transport::ObjectLookupCache::get
  - ipmi::transport::findIfAddr
  - ipmi::transport::getIfAddr
  - ipmi::transport::getGatewayProperty
  - ipmi::transport::findStaticNeighbor
  - ipmi::transport::createNeighbor
  - ipmi::transport::setGatewayProperty
  source_file: /src/phosphor-host-ipmid/transporthandler.hpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: id
        type: int
      - name: ifname
        type: std::string
      - name: service
        type: std::string
      - name: ifPath
        type: std::string
      - name: logicalPath
        type: std::string
      item_type: struct
      name: ChannelParams
      pos:
        line_end: 57
        line_start: 45
        source_file: /src/phosphor-host-ipmid/transporthandler.hpp
    - fields: []
      item_type: struct
      name: AddrFamily
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/phosphor-host-ipmid/transporthandler.hpp
    - fields:
      - name: protocol
        type: auto
      - name: maxStrLen
        type: size_t
      - name: defaultPrefix
        type: uint8_t
      - name: propertyGateway[]
        type: char
      item_type: struct
      name: AddrFamily<AF_INET>
      pos:
        line_end: 108
        line_start: 100
        source_file: /src/phosphor-host-ipmid/transporthandler.hpp
    - fields:
      - name: protocol
        type: auto
      - name: maxStrLen
        type: size_t
      - name: defaultPrefix
        type: uint8_t
      - name: propertyGateway[]
        type: char
      item_type: struct
      name: AddrFamily<AF_INET6>
      pos:
        line_end: 120
        line_start: 112
        source_file: /src/phosphor-host-ipmid/transporthandler.hpp
    - fields:
      - name: path
        type: std::string
      - name: ip
        type: typename AddrFamily<family>::addr
      - name: mac
        type: stdplus::EtherAddr
      item_type: struct
      name: IfNeigh
      pos:
        line_end: 129
        line_start: 124
        source_file: /src/phosphor-host-ipmid/transporthandler.hpp
    - fields:
      - name: path
        type: std::string
      - name: address
        type: typename AddrFamily<family>::addr
      - name: origin
        type: sdbusplus::server::xyz::openbmc_project::network::IP::AddressOrigin
      - name: prefix
        type: uint8_t
      item_type: struct
      name: IfAddr
      pos:
        line_end: 139
        line_start: 133
        source_file: /src/phosphor-host-ipmid/transporthandler.hpp
    - fields:
      - name: id
        type: int
      - name: ifname
        type: std::string
      - name: service
        type: std::string
      - name: ifPath
        type: std::string
      - name: logicalPath
        type: std::string
      item_type: struct
      name: ChannelParams
      pos:
        line_end: 57
        line_start: 45
        source_file: /src/phosphor-host-ipmid/transporthandler.hpp
    - fields: []
      item_type: struct
      name: AddrFamily
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/phosphor-host-ipmid/transporthandler.hpp
    - fields:
      - name: protocol
        type: auto
      - name: maxStrLen
        type: size_t
      - name: defaultPrefix
        type: uint8_t
      - name: propertyGateway[]
        type: char
      item_type: struct
      name: AddrFamily<AF_INET>
      pos:
        line_end: 108
        line_start: 100
        source_file: /src/phosphor-host-ipmid/transporthandler.hpp
    - fields:
      - name: protocol
        type: auto
      - name: maxStrLen
        type: size_t
      - name: defaultPrefix
        type: uint8_t
      - name: propertyGateway[]
        type: char
      item_type: struct
      name: AddrFamily<AF_INET6>
      pos:
        line_end: 120
        line_start: 112
        source_file: /src/phosphor-host-ipmid/transporthandler.hpp
    - fields:
      - name: path
        type: std::string
      - name: ip
        type: typename AddrFamily<family>::addr
      - name: mac
        type: stdplus::EtherAddr
      item_type: struct
      name: IfNeigh
      pos:
        line_end: 129
        line_start: 124
        source_file: /src/phosphor-host-ipmid/transporthandler.hpp
    - fields:
      - name: path
        type: std::string
      - name: address
        type: typename AddrFamily<family>::addr
      - name: origin
        type: sdbusplus::server::xyz::openbmc_project::network::IP::AddressOrigin
      - name: prefix
        type: uint8_t
      item_type: struct
      name: IfAddr
      pos:
        line_end: 139
        line_start: 133
        source_file: /src/phosphor-host-ipmid/transporthandler.hpp
    - fields:
      - name: id
        type: int
      - name: ifname
        type: std::string
      - name: service
        type: std::string
      - name: ifPath
        type: std::string
      - name: logicalPath
        type: std::string
      item_type: struct
      name: ChannelParams
      pos:
        line_end: 57
        line_start: 45
        source_file: /src/phosphor-host-ipmid/transporthandler.hpp
    - fields: []
      item_type: struct
      name: AddrFamily
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/phosphor-host-ipmid/transporthandler.hpp
    - fields:
      - name: protocol
        type: auto
      - name: maxStrLen
        type: size_t
      - name: defaultPrefix
        type: uint8_t
      - name: propertyGateway[]
        type: char
      item_type: struct
      name: AddrFamily<AF_INET>
      pos:
        line_end: 108
        line_start: 100
        source_file: /src/phosphor-host-ipmid/transporthandler.hpp
    - fields:
      - name: protocol
        type: auto
      - name: maxStrLen
        type: size_t
      - name: defaultPrefix
        type: uint8_t
      - name: propertyGateway[]
        type: char
      item_type: struct
      name: AddrFamily<AF_INET6>
      pos:
        line_end: 120
        line_start: 112
        source_file: /src/phosphor-host-ipmid/transporthandler.hpp
    - fields:
      - name: path
        type: std::string
      - name: ip
        type: typename AddrFamily<family>::addr
      - name: mac
        type: stdplus::EtherAddr
      item_type: struct
      name: IfNeigh
      pos:
        line_end: 129
        line_start: 124
        source_file: /src/phosphor-host-ipmid/transporthandler.hpp
    - fields:
      - name: path
        type: std::string
      - name: address
        type: typename AddrFamily<family>::addr
      - name: origin
        type: sdbusplus::server::xyz::openbmc_project::network::IP::AddressOrigin
      - name: prefix
        type: uint8_t
      item_type: struct
      name: IfAddr
      pos:
        line_end: 139
        line_start: 133
        source_file: /src/phosphor-host-ipmid/transporthandler.hpp
    - fields:
      - name: id
        type: int
      - name: ifname
        type: std::string
      - name: service
        type: std::string
      - name: ifPath
        type: std::string
      - name: logicalPath
        type: std::string
      item_type: struct
      name: ChannelParams
      pos:
        line_end: 57
        line_start: 45
        source_file: /src/phosphor-host-ipmid/transporthandler.hpp
    - fields: []
      item_type: struct
      name: AddrFamily
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/phosphor-host-ipmid/transporthandler.hpp
    - fields:
      - name: protocol
        type: auto
      - name: maxStrLen
        type: size_t
      - name: defaultPrefix
        type: uint8_t
      - name: propertyGateway[]
        type: char
      item_type: struct
      name: AddrFamily<AF_INET>
      pos:
        line_end: 108
        line_start: 100
        source_file: /src/phosphor-host-ipmid/transporthandler.hpp
    - fields:
      - name: protocol
        type: auto
      - name: maxStrLen
        type: size_t
      - name: defaultPrefix
        type: uint8_t
      - name: propertyGateway[]
        type: char
      item_type: struct
      name: AddrFamily<AF_INET6>
      pos:
        line_end: 120
        line_start: 112
        source_file: /src/phosphor-host-ipmid/transporthandler.hpp
    - fields:
      - name: path
        type: std::string
      - name: ip
        type: typename AddrFamily<family>::addr
      - name: mac
        type: stdplus::EtherAddr
      item_type: struct
      name: IfNeigh
      pos:
        line_end: 129
        line_start: 124
        source_file: /src/phosphor-host-ipmid/transporthandler.hpp
    - fields:
      - name: path
        type: std::string
      - name: address
        type: typename AddrFamily<family>::addr
      - name: origin
        type: sdbusplus::server::xyz::openbmc_project::network::IP::AddressOrigin
      - name: prefix
        type: uint8_t
      item_type: struct
      name: IfAddr
      pos:
        line_end: 139
        line_start: 133
        source_file: /src/phosphor-host-ipmid/transporthandler.hpp
    typedefs: []
    union: []
- function_names:
  - phosphor::host::command::Host::Host
  - phosphor::host::command::Host::Host
  - phosphor::host::command::Host::Host
  - phosphor::host::command::Host::Host
  - phosphor::host::command::Host::Host
  - phosphor::host::command::Host::Host
  - phosphor::host::command::Host::Host
  - phosphor::host::command::Host::Host
  source_file: /src/phosphor-host-ipmid/host-interface.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ISBITSET
  - set_sensor_dbus_state_simple
  - event_data_lookup
  - set_sensor_dbus_state_fwprogress
  - set_sensor_dbus_state_osbootcount
  - set_sensor_dbus_state_system_event
  - reportSensorEventAssert
  - reportSensorEventDeassert
  - findindex
  - shouldReport
  - updateSensorRecordFromSSRAESC
  source_file: /src/phosphor-host-ipmid/ipmisensor.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ASSERTINDEX
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/phosphor-host-ipmid/ipmisensor.cpp
      type_or_value: '0'
    - item_type: preproc_def
      name: DEASSERTINDEX
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/phosphor-host-ipmid/ipmisensor.cpp
      type_or_value: '1'
    structs:
    - fields:
      - name: sensor_number
        type: uint8_t
      - name: operation
        type: uint8_t
      - name: sensor_reading
        type: uint8_t
      - name: assert_state7_0
        type: uint8_t
      - name: assert_state14_8
        type: uint8_t
      - name: deassert_state7_0
        type: uint8_t
      - name: deassert_state14_8
        type: uint8_t
      - name: event_data1
        type: uint8_t
      - name: event_data2
        type: uint8_t
      - name: event_data3
        type: uint8_t
      item_type: struct
      name: sensorRES_t
      pos:
        line_end: 20
        line_start: 8
        source_file: /src/phosphor-host-ipmid/ipmisensor.cpp
    - fields:
      - name: sensor_type
        type: uint8_t
      - name: offset
        type: uint8_t
      - name: (*func)(const sensorRES_t*, const lookup_t*, const char*)
        type: int
      - name: member[16]
        type: char
      - name: assertion[64]
        type: char
      - name: deassertion[64]
        type: char
      item_type: struct
      name: lookup_t
      pos:
        line_end: 36
        line_start: 28
        source_file: /src/phosphor-host-ipmid/ipmisensor.cpp
    - fields:
      - name: data
        type: uint8_t
      - name: text[64]
        type: char
      item_type: struct
      name: event_data_t
      pos:
        line_end: 50
        line_start: 46
        source_file: /src/phosphor-host-ipmid/ipmisensor.cpp
    typedefs: []
    union: []
- function_names:
  - ~SysInfoParamStoreIntf()
  source_file: /src/phosphor-host-ipmid/sys_info_param.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/phosphor-host-ipmid/transportconstants.hpp
  types:
    enum:
    - enumerators:
      - name: AuthEnables
        value: '2'
      - name: SubnetMask
        value: '6'
      - name: IPFamilyEnables
        value: '51'
      - name: CiphersuiteSupport
        value: '22'
      - name: IPv6RouterControl
        value: '64'
      - name: IPv6StaticRouter1PrefixValue
        value: '68'
      - name: AuthSupport
        value: '1'
      - name: MAC
        value: '5'
      - name: VLANId
        value: '20'
      - name: IPv6DynamicAddresses
        value: '59'
      - name: IPFamilySupport
        value: '50'
      - name: IPv6StaticRouter1PrefixLength
        value: '67'
      - name: IPSrc
        value: '4'
      - name: Gateway1MAC
        value: '13'
      - name: IPv6StaticAddresses
        value: '56'
      - name: cipherSuitePrivilegeLevels
        value: '24'
      - name: IPv6StaticRouter1MAC
        value: '66'
      - name: SetStatus
        value: '0'
      - name: IP
        value: '3'
      - name: Gateway1
        value: '12'
      - name: CiphersuiteEntries
        value: '23'
      - name: IPv6Status
        value: '55'
      - name: IPv6StaticRouter1IP
        value: '65'
      item_type: enum
      name: LanParam
      pos:
        line_end: 54
        line_start: 29
        source_file: /src/phosphor-host-ipmid/transportconstants.hpp
    - enumerators:
      - name: Unspecified
        value: '0'
      - name: BIOS
        value: '3'
      - name: DHCP
        value: '2'
      - name: Static
        value: '1'
      - name: BMC
        value: '4'
      item_type: enum
      name: IPSrc
      pos:
        line_end: 64
        line_start: 57
        source_file: /src/phosphor-host-ipmid/transportconstants.hpp
    - enumerators:
      - name: Complete
        value: '0'
      - name: Commit
        value: '2'
      - name: InProgress
        value: '1'
      item_type: enum
      name: SetStatus
      pos:
        line_end: 72
        line_start: 67
        source_file: /src/phosphor-host-ipmid/transportconstants.hpp
    - enumerators:
      - name: IPv4Only
        value: '0'
      - name: DualStack
        value: '2'
      - name: IPv6Only
        value: '1'
      item_type: enum
      name: IPFamilyEnables
      pos:
        line_end: 88
        line_start: 83
        source_file: /src/phosphor-host-ipmid/transportconstants.hpp
    - enumerators:
      - name: Static
        value: '0'
      - name: DHCP
        value: '2'
      - name: SLAAC
        value: '1'
      item_type: enum
      name: IPv6Source
      pos:
        line_end: 103
        line_start: 98
        source_file: /src/phosphor-host-ipmid/transportconstants.hpp
    - enumerators:
      - name: Active
        value: '0'
      - name: Disabled
        value: '1'
      item_type: enum
      name: IPv6AddressStatus
      pos:
        line_end: 110
        line_start: 106
        source_file: /src/phosphor-host-ipmid/transportconstants.hpp
    - enumerators:
      - name: Progress
      - name: Authentication
      - name: Enable
      - name: Retry
      - name: Accumulate
      - name: NonVbitrate
      - name: Vbitrate
      - name: Channel
      - name: Port
      item_type: enum
      name: SolConfParam
      pos:
        line_end: 150
        line_start: 139
        source_file: /src/phosphor-host-ipmid/transportconstants.hpp
    - enumerators:
      - name: AuthEnables
        value: '2'
      - name: SubnetMask
        value: '6'
      - name: IPFamilyEnables
        value: '51'
      - name: CiphersuiteSupport
        value: '22'
      - name: IPv6RouterControl
        value: '64'
      - name: IPv6StaticRouter1PrefixValue
        value: '68'
      - name: AuthSupport
        value: '1'
      - name: MAC
        value: '5'
      - name: VLANId
        value: '20'
      - name: IPv6DynamicAddresses
        value: '59'
      - name: IPFamilySupport
        value: '50'
      - name: IPv6StaticRouter1PrefixLength
        value: '67'
      - name: IPSrc
        value: '4'
      - name: Gateway1MAC
        value: '13'
      - name: IPv6StaticAddresses
        value: '56'
      - name: cipherSuitePrivilegeLevels
        value: '24'
      - name: IPv6StaticRouter1MAC
        value: '66'
      - name: SetStatus
        value: '0'
      - name: IP
        value: '3'
      - name: Gateway1
        value: '12'
      - name: CiphersuiteEntries
        value: '23'
      - name: IPv6Status
        value: '55'
      - name: IPv6StaticRouter1IP
        value: '65'
      item_type: enum
      name: LanParam
      pos:
        line_end: 54
        line_start: 29
        source_file: /src/phosphor-host-ipmid/transportconstants.hpp
    - enumerators:
      - name: Unspecified
        value: '0'
      - name: BIOS
        value: '3'
      - name: DHCP
        value: '2'
      - name: Static
        value: '1'
      - name: BMC
        value: '4'
      item_type: enum
      name: IPSrc
      pos:
        line_end: 64
        line_start: 57
        source_file: /src/phosphor-host-ipmid/transportconstants.hpp
    - enumerators:
      - name: Complete
        value: '0'
      - name: Commit
        value: '2'
      - name: InProgress
        value: '1'
      item_type: enum
      name: SetStatus
      pos:
        line_end: 72
        line_start: 67
        source_file: /src/phosphor-host-ipmid/transportconstants.hpp
    - enumerators:
      - name: IPv4Only
        value: '0'
      - name: DualStack
        value: '2'
      - name: IPv6Only
        value: '1'
      item_type: enum
      name: IPFamilyEnables
      pos:
        line_end: 88
        line_start: 83
        source_file: /src/phosphor-host-ipmid/transportconstants.hpp
    - enumerators:
      - name: Static
        value: '0'
      - name: DHCP
        value: '2'
      - name: SLAAC
        value: '1'
      item_type: enum
      name: IPv6Source
      pos:
        line_end: 103
        line_start: 98
        source_file: /src/phosphor-host-ipmid/transportconstants.hpp
    - enumerators:
      - name: Active
        value: '0'
      - name: Disabled
        value: '1'
      item_type: enum
      name: IPv6AddressStatus
      pos:
        line_end: 110
        line_start: 106
        source_file: /src/phosphor-host-ipmid/transportconstants.hpp
    - enumerators:
      - name: Progress
      - name: Authentication
      - name: Enable
      - name: Retry
      - name: Accumulate
      - name: NonVbitrate
      - name: Vbitrate
      - name: Channel
      - name: Port
      item_type: enum
      name: SolConfParam
      pos:
        line_end: 150
        line_start: 139
        source_file: /src/phosphor-host-ipmid/transportconstants.hpp
    - enumerators:
      - name: AuthEnables
        value: '2'
      - name: SubnetMask
        value: '6'
      - name: IPFamilyEnables
        value: '51'
      - name: CiphersuiteSupport
        value: '22'
      - name: IPv6RouterControl
        value: '64'
      - name: IPv6StaticRouter1PrefixValue
        value: '68'
      - name: AuthSupport
        value: '1'
      - name: MAC
        value: '5'
      - name: VLANId
        value: '20'
      - name: IPv6DynamicAddresses
        value: '59'
      - name: IPFamilySupport
        value: '50'
      - name: IPv6StaticRouter1PrefixLength
        value: '67'
      - name: IPSrc
        value: '4'
      - name: Gateway1MAC
        value: '13'
      - name: IPv6StaticAddresses
        value: '56'
      - name: cipherSuitePrivilegeLevels
        value: '24'
      - name: IPv6StaticRouter1MAC
        value: '66'
      - name: SetStatus
        value: '0'
      - name: IP
        value: '3'
      - name: Gateway1
        value: '12'
      - name: CiphersuiteEntries
        value: '23'
      - name: IPv6Status
        value: '55'
      - name: IPv6StaticRouter1IP
        value: '65'
      item_type: enum
      name: LanParam
      pos:
        line_end: 54
        line_start: 29
        source_file: /src/phosphor-host-ipmid/transportconstants.hpp
    - enumerators:
      - name: Unspecified
        value: '0'
      - name: BIOS
        value: '3'
      - name: DHCP
        value: '2'
      - name: Static
        value: '1'
      - name: BMC
        value: '4'
      item_type: enum
      name: IPSrc
      pos:
        line_end: 64
        line_start: 57
        source_file: /src/phosphor-host-ipmid/transportconstants.hpp
    - enumerators:
      - name: Complete
        value: '0'
      - name: Commit
        value: '2'
      - name: InProgress
        value: '1'
      item_type: enum
      name: SetStatus
      pos:
        line_end: 72
        line_start: 67
        source_file: /src/phosphor-host-ipmid/transportconstants.hpp
    - enumerators:
      - name: IPv4Only
        value: '0'
      - name: DualStack
        value: '2'
      - name: IPv6Only
        value: '1'
      item_type: enum
      name: IPFamilyEnables
      pos:
        line_end: 88
        line_start: 83
        source_file: /src/phosphor-host-ipmid/transportconstants.hpp
    - enumerators:
      - name: Static
        value: '0'
      - name: DHCP
        value: '2'
      - name: SLAAC
        value: '1'
      item_type: enum
      name: IPv6Source
      pos:
        line_end: 103
        line_start: 98
        source_file: /src/phosphor-host-ipmid/transportconstants.hpp
    - enumerators:
      - name: Active
        value: '0'
      - name: Disabled
        value: '1'
      item_type: enum
      name: IPv6AddressStatus
      pos:
        line_end: 110
        line_start: 106
        source_file: /src/phosphor-host-ipmid/transportconstants.hpp
    - enumerators:
      - name: Progress
      - name: Authentication
      - name: Enable
      - name: Retry
      - name: Accumulate
      - name: NonVbitrate
      - name: Vbitrate
      - name: Channel
      - name: Port
      item_type: enum
      name: SolConfParam
      pos:
        line_end: 150
        line_start: 139
        source_file: /src/phosphor-host-ipmid/transportconstants.hpp
    - enumerators:
      - name: AuthEnables
        value: '2'
      - name: SubnetMask
        value: '6'
      - name: IPFamilyEnables
        value: '51'
      - name: CiphersuiteSupport
        value: '22'
      - name: IPv6RouterControl
        value: '64'
      - name: IPv6StaticRouter1PrefixValue
        value: '68'
      - name: AuthSupport
        value: '1'
      - name: MAC
        value: '5'
      - name: VLANId
        value: '20'
      - name: IPv6DynamicAddresses
        value: '59'
      - name: IPFamilySupport
        value: '50'
      - name: IPv6StaticRouter1PrefixLength
        value: '67'
      - name: IPSrc
        value: '4'
      - name: Gateway1MAC
        value: '13'
      - name: IPv6StaticAddresses
        value: '56'
      - name: cipherSuitePrivilegeLevels
        value: '24'
      - name: IPv6StaticRouter1MAC
        value: '66'
      - name: SetStatus
        value: '0'
      - name: IP
        value: '3'
      - name: Gateway1
        value: '12'
      - name: CiphersuiteEntries
        value: '23'
      - name: IPv6Status
        value: '55'
      - name: IPv6StaticRouter1IP
        value: '65'
      item_type: enum
      name: LanParam
      pos:
        line_end: 54
        line_start: 29
        source_file: /src/phosphor-host-ipmid/transportconstants.hpp
    - enumerators:
      - name: Unspecified
        value: '0'
      - name: BIOS
        value: '3'
      - name: DHCP
        value: '2'
      - name: Static
        value: '1'
      - name: BMC
        value: '4'
      item_type: enum
      name: IPSrc
      pos:
        line_end: 64
        line_start: 57
        source_file: /src/phosphor-host-ipmid/transportconstants.hpp
    - enumerators:
      - name: Complete
        value: '0'
      - name: Commit
        value: '2'
      - name: InProgress
        value: '1'
      item_type: enum
      name: SetStatus
      pos:
        line_end: 72
        line_start: 67
        source_file: /src/phosphor-host-ipmid/transportconstants.hpp
    - enumerators:
      - name: IPv4Only
        value: '0'
      - name: DualStack
        value: '2'
      - name: IPv6Only
        value: '1'
      item_type: enum
      name: IPFamilyEnables
      pos:
        line_end: 88
        line_start: 83
        source_file: /src/phosphor-host-ipmid/transportconstants.hpp
    - enumerators:
      - name: Static
        value: '0'
      - name: DHCP
        value: '2'
      - name: SLAAC
        value: '1'
      item_type: enum
      name: IPv6Source
      pos:
        line_end: 103
        line_start: 98
        source_file: /src/phosphor-host-ipmid/transportconstants.hpp
    - enumerators:
      - name: Active
        value: '0'
      - name: Disabled
        value: '1'
      item_type: enum
      name: IPv6AddressStatus
      pos:
        line_end: 110
        line_start: 106
        source_file: /src/phosphor-host-ipmid/transportconstants.hpp
    - enumerators:
      - name: Progress
      - name: Authentication
      - name: Enable
      - name: Retry
      - name: Accumulate
      - name: NonVbitrate
      - name: Vbitrate
      - name: Channel
      - name: Port
      item_type: enum
      name: SolConfParam
      pos:
        line_end: 150
        line_start: 139
        source_file: /src/phosphor-host-ipmid/transportconstants.hpp
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - SysInfoParamStore::lookup
  - SysInfoParamStore::update
  - SysInfoParamStore::update
  source_file: /src/phosphor-host-ipmid/sys_info_param.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - getLoggingId
  - getLoggingObjPath
  - parseLoggingEntry
  - selAddedCallback
  - selRemovedCallback
  - selUpdatedCallback
  - registerSelCallbackHandler
  - initSELCache
  - ipmiStorageGetSelInfo
  - getSELEntry
  - deleteSELEntry
  - clearSEL
  - ipmiStorageGetSelTime
  - ipmiStorageSetSelTime
  - ipmiStorageGetSelTimeUtcOffset
  - ipmiStorageReserveSel
  - ipmiStorageAddSEL
  - isFruPresent
  - ipmiStorageGetFruInvAreaInfo
  - ipmiStorageReadFruData
  - ipmiGetRepositoryInfo
  - registerNetFnStorageFunctions
  source_file: /src/phosphor-host-ipmid/storagehandler.cpp
  types:
    enum:
    - enumerators:
      - name: bytes
      - name: words
      item_type: enum
      name: AccessMode
      pos:
        line_end: 216
        line_start: 212
        source_file: /src/phosphor-host-ipmid/storagehandler.cpp
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ipmi::fru::readAllProperties
  - ipmi::fru::processFruPropChange
  - ipmi::fru::registerCallbackHandler
  - ipmi::fru::readDataFromInventory
  - ipmi::fru::getFruAreaData
  - ipmi::fru::readAllProperties
  - ipmi::fru::processFruPropChange
  - ipmi::fru::registerCallbackHandler
  - ipmi::fru::readDataFromInventory
  - ipmi::fru::getFruAreaData
  - ipmi::fru::readAllProperties
  - ipmi::fru::processFruPropChange
  - ipmi::fru::registerCallbackHandler
  - ipmi::fru::readDataFromInventory
  - ipmi::fru::getFruAreaData
  - ipmi::fru::readAllProperties
  - ipmi::fru::processFruPropChange
  - ipmi::fru::registerCallbackHandler
  - ipmi::fru::readDataFromInventory
  - ipmi::fru::getFruAreaData
  source_file: /src/phosphor-host-ipmid/read_fru_data.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - cipher::getCipherList
  - cipher::getCipherList
  - ipmi::transport::responseParamNotSupported
  - ipmi::transport::responseParamSetLocked
  - ipmi::transport::responseParamReadOnly
  - ipmi::transport::responseWriteReadParameter
  - ipmi::transport::ifnameInPath
  - ipmi::transport::maybeGetChannelParams
  - ipmi::transport::getChannelParams
  - ipmi::transport::getEthProp
  - ipmi::transport::setEthProp
  - ipmi::transport::getMACProperty
  - ipmi::transport::setMACProperty
  - ipmi::transport::deleteObjectIfExists
  - ipmi::transport::createIfAddr
  - ipmi::transport::getIfAddr4
  - ipmi::transport::reconfigureIfAddr4
  - ipmi::transport::findGatewayNeighbor
  - ipmi::transport::getGatewayNeighbor
  - ipmi::transport::reconfigureGatewayMAC
  - ipmi::transport::deconfigureIfAddr6
  - ipmi::transport::reconfigureIfAddr6
  - ipmi::transport::originToSourceType
  - ipmi::transport::getLanIPv6Address
  - ipmi::transport::getVLANProperty
  - ipmi::transport::deconfigureChannel
  - ipmi::transport::createVLAN
  - ipmi::transport::reconfigureVLAN
  - ipmi::transport::getSetStatus
  - ipmi::transport::unpackT
  - ipmi::transport::unpackFinal
  - ipmi::transport::setLanOem
  - ipmi::transport::getLanOem
  - ipmi::transport::isLanChannel
  - ipmi::transport::setLanInt
  - ipmi::transport::setLan
  - ipmi::transport::getLan
  - ipmi::transport::setSolConfParams
  - ipmi::transport::getSolConfParams
  - ipmi::transport::responseParamNotSupported
  - ipmi::transport::responseParamSetLocked
  - ipmi::transport::responseParamReadOnly
  - ipmi::transport::responseWriteReadParameter
  - ipmi::transport::ifnameInPath
  - ipmi::transport::maybeGetChannelParams
  - ipmi::transport::getChannelParams
  - ipmi::transport::getEthProp
  - ipmi::transport::setEthProp
  - ipmi::transport::getMACProperty
  - ipmi::transport::setMACProperty
  - ipmi::transport::deleteObjectIfExists
  - ipmi::transport::createIfAddr
  - ipmi::transport::getIfAddr4
  - ipmi::transport::reconfigureIfAddr4
  - ipmi::transport::findGatewayNeighbor
  - ipmi::transport::getGatewayNeighbor
  - ipmi::transport::reconfigureGatewayMAC
  - ipmi::transport::deconfigureIfAddr6
  - ipmi::transport::reconfigureIfAddr6
  - ipmi::transport::originToSourceType
  - ipmi::transport::getLanIPv6Address
  - ipmi::transport::getVLANProperty
  - ipmi::transport::deconfigureChannel
  - ipmi::transport::createVLAN
  - ipmi::transport::reconfigureVLAN
  - ipmi::transport::getSetStatus
  - ipmi::transport::unpackT
  - ipmi::transport::unpackFinal
  - ipmi::transport::setLanOem
  - ipmi::transport::getLanOem
  - ipmi::transport::isLanChannel
  - ipmi::transport::setLanInt
  - ipmi::transport::setLan
  - ipmi::transport::getLan
  - ipmi::transport::setSolConfParams
  - ipmi::transport::getSolConfParams
  - ipmi::transport::responseParamNotSupported
  - ipmi::transport::responseParamSetLocked
  - ipmi::transport::responseParamReadOnly
  - ipmi::transport::responseWriteReadParameter
  - ipmi::transport::ifnameInPath
  - ipmi::transport::maybeGetChannelParams
  - ipmi::transport::getChannelParams
  - ipmi::transport::getEthProp
  - ipmi::transport::setEthProp
  - ipmi::transport::getMACProperty
  - ipmi::transport::setMACProperty
  - ipmi::transport::deleteObjectIfExists
  - ipmi::transport::createIfAddr
  - ipmi::transport::getIfAddr4
  - ipmi::transport::reconfigureIfAddr4
  - ipmi::transport::findGatewayNeighbor
  - ipmi::transport::getGatewayNeighbor
  - ipmi::transport::reconfigureGatewayMAC
  - ipmi::transport::deconfigureIfAddr6
  - ipmi::transport::reconfigureIfAddr6
  - ipmi::transport::originToSourceType
  - ipmi::transport::getLanIPv6Address
  - ipmi::transport::getVLANProperty
  - ipmi::transport::deconfigureChannel
  - ipmi::transport::createVLAN
  - ipmi::transport::reconfigureVLAN
  - ipmi::transport::getSetStatus
  - ipmi::transport::unpackT
  - ipmi::transport::unpackFinal
  - ipmi::transport::setLanOem
  - ipmi::transport::getLanOem
  - ipmi::transport::isLanChannel
  - ipmi::transport::setLanInt
  - ipmi::transport::setLan
  - ipmi::transport::getLan
  - ipmi::transport::setSolConfParams
  - ipmi::transport::getSolConfParams
  - ipmi::transport::responseParamNotSupported
  - ipmi::transport::responseParamSetLocked
  - ipmi::transport::responseParamReadOnly
  - ipmi::transport::responseWriteReadParameter
  - ipmi::transport::ifnameInPath
  - ipmi::transport::maybeGetChannelParams
  - ipmi::transport::getChannelParams
  - ipmi::transport::getEthProp
  - ipmi::transport::setEthProp
  - ipmi::transport::getMACProperty
  - ipmi::transport::setMACProperty
  - ipmi::transport::deleteObjectIfExists
  - ipmi::transport::createIfAddr
  - ipmi::transport::getIfAddr4
  - ipmi::transport::reconfigureIfAddr4
  - ipmi::transport::findGatewayNeighbor
  - ipmi::transport::getGatewayNeighbor
  - ipmi::transport::reconfigureGatewayMAC
  - ipmi::transport::deconfigureIfAddr6
  - ipmi::transport::reconfigureIfAddr6
  - ipmi::transport::originToSourceType
  - ipmi::transport::getLanIPv6Address
  - ipmi::transport::getVLANProperty
  - ipmi::transport::deconfigureChannel
  - ipmi::transport::createVLAN
  - ipmi::transport::reconfigureVLAN
  - ipmi::transport::getSetStatus
  - ipmi::transport::unpackT
  - ipmi::transport::unpackFinal
  - ipmi::transport::setLanOem
  - ipmi::transport::getLanOem
  - ipmi::transport::isLanChannel
  - ipmi::transport::setLanInt
  - ipmi::transport::setLan
  - ipmi::transport::getLan
  - ipmi::transport::setSolConfParams
  - ipmi::transport::getSolConfParams
  - registerNetFnTransportFunctions
  source_file: /src/phosphor-host-ipmid/transporthandler.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ipmi::responseParmNotSupported
  - ipmi::responsefailSetInProgress
  - ipmi::responseParmNotSupported
  - ipmi::responsefailSetInProgress
  - chassis::internal::cache::getObjects
  - chassis::internal::cache::getObjects
  - chassis::internal::cache::getObjects
  - chassis::internal::cache::getObjects
  - chassis::internal::cache::getObjects
  - chassis::internal::cache::getObjects
  - chassis::internal::cache::getObjects
  - chassis::internal::cache::getObjects
  - getHostNetworkData
  - getAddrStr
  - setHostNetworkData
  - getPOHCounter
  - ipmiGetChassisCap
  - ipmiSetChassisCap
  - initiateHostStateTransition
  - initiateChassisStateTransition
  - doNmi
  - power_policy::getPowerRestorePolicy
  - power_policy::getPowerStatus
  - power_policy::getACFailStatus
  - power_policy::getPowerRestorePolicy
  - power_policy::getPowerStatus
  - power_policy::getACFailStatus
  - getButtonDisabled
  - setButtonDisabled
  - getChassisIntrusionStatus
  - ipmiGetChassisStatus
  - restartCauseToIpmiRestartCause
  - getRestartCause
  - ipmiGetSystemRestartCause
  - ipmiChassisControl
  - getEnclosureIdentifyConnection
  - enclosureIdentifyLed
  - enclosureIdentifyLedOff
  - createIdentifyTimer
  - ipmiChassisIdentify
  - getBootSource
  - setBootSource
  - getBootMode
  - setBootMode
  - getBootType
  - setBootType
  - getBootEnable
  - setBootEnable
  - getBootOneTime
  - setBootOneTime
  - getBootFlagsCMOSClear
  - setBootFlagsCMOSClear
  - ipmiChassisGetSysBootOptions
  - ipmiChassisSetSysBootOptions
  - ipmiGetPOHCounter
  - ipmiChassisSetPowerRestorePolicy
  - ipmiSetFrontPanelButtonEnables
  - registerNetFnChassisFunctions
  source_file: /src/phosphor-host-ipmid/chassishandler.cpp
  types:
    enum:
    - enumerators:
      - name: Unknown
        value: '0x0'
      - name: WatchdogTimer
        value: '0x4'
      - name: PowerButton
        value: '0x3'
      - name: ResetButton
        value: '0x2'
      - name: RemoteCommand
        value: '0x1'
      - name: PowerPolicyAlwaysOn
        value: '0x6'
      - name: PowerPolicyPreviousState
        value: '0x7'
      - name: SoftReset
        value: '0xa'
      item_type: enum
      name: IpmiRestartCause
      pos:
        line_end: 1343
        line_start: 1333
        source_file: /src/phosphor-host-ipmid/chassishandler.cpp
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ipmi::sel::internal::isRecordOEM
  - ipmi::sel::internal::convert
  - ipmi::sel::internal::convertVec
  - ipmi::sel::internal::constructOEMSEL
  - ipmi::sel::internal::constructSEL
  - ipmi::sel::internal::prepareSELEntry
  - ipmi::sel::internal::isRecordOEM
  - ipmi::sel::internal::convert
  - ipmi::sel::internal::convertVec
  - ipmi::sel::internal::constructOEMSEL
  - ipmi::sel::internal::constructSEL
  - ipmi::sel::internal::prepareSELEntry
  - ipmi::sel::convertLogEntrytoSEL
  - ipmi::sel::getEntryTimeStamp
  - ipmi::sel::readLoggingObjectPaths
  - ipmi::sel::internal::isRecordOEM
  - ipmi::sel::internal::convert
  - ipmi::sel::internal::convertVec
  - ipmi::sel::internal::constructOEMSEL
  - ipmi::sel::internal::constructSEL
  - ipmi::sel::internal::prepareSELEntry
  - ipmi::sel::internal::isRecordOEM
  - ipmi::sel::internal::convert
  - ipmi::sel::internal::convertVec
  - ipmi::sel::internal::constructOEMSEL
  - ipmi::sel::internal::constructSEL
  - ipmi::sel::internal::prepareSELEntry
  - ipmi::sel::convertLogEntrytoSEL
  - ipmi::sel::getEntryTimeStamp
  - ipmi::sel::readLoggingObjectPaths
  - ipmi::sel::internal::isRecordOEM
  - ipmi::sel::internal::convert
  - ipmi::sel::internal::convertVec
  - ipmi::sel::internal::constructOEMSEL
  - ipmi::sel::internal::constructSEL
  - ipmi::sel::internal::prepareSELEntry
  - ipmi::sel::internal::isRecordOEM
  - ipmi::sel::internal::convert
  - ipmi::sel::internal::convertVec
  - ipmi::sel::internal::constructOEMSEL
  - ipmi::sel::internal::constructSEL
  - ipmi::sel::internal::prepareSELEntry
  - ipmi::sel::convertLogEntrytoSEL
  - ipmi::sel::getEntryTimeStamp
  - ipmi::sel::readLoggingObjectPaths
  - ipmi::sel::internal::isRecordOEM
  - ipmi::sel::internal::convert
  - ipmi::sel::internal::convertVec
  - ipmi::sel::internal::constructOEMSEL
  - ipmi::sel::internal::constructSEL
  - ipmi::sel::internal::prepareSELEntry
  - ipmi::sel::internal::isRecordOEM
  - ipmi::sel::internal::convert
  - ipmi::sel::internal::convertVec
  - ipmi::sel::internal::constructOEMSEL
  - ipmi::sel::internal::constructSEL
  - ipmi::sel::internal::prepareSELEntry
  - ipmi::sel::convertLogEntrytoSEL
  - ipmi::sel::getEntryTimeStamp
  - ipmi::sel::readLoggingObjectPaths
  source_file: /src/phosphor-host-ipmid/selutility.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - fillSensorIdServiceMap
  - fillSensorIdServiceMap
  - initSensorMatches
  - find_openbmc_path
  - set_sensor_dbus_state_s
  - set_sensor_dbus_state_y
  - dbus_to_sensor_type
  - get_type_from_interface
  - find_type_for_sensor_number
  - ipmiGetSensorType
  - isAnalogSensor
  - ipmiSetSensorReading
  - ipmiSensorGetSensorReading
  - catch
  - updateWarningThreshold
  - updateCriticalThreshold
  - updateNonRecoverableThreshold
  - getClamp
  - updateThresholds
  - getSensorThresholds
  - ipmiSensorGetSensorThresholds
  - ipmiSenSetSensorThresholds
  - ipmiSensorGetDeviceSdrInfo
  - ipmiSensorReserveSdr
  - setUnitFieldsForObject
  - populateRecordFromDbus
  - ipmiFruGetSdr
  - ipmiEntityGetSdr
  - ipmiSensorGetSdr
  - ipmiSenGetSensorEventEnable
  - isFromSystemChannel
  - ipmicmdPlatformEvent
  - registerNetFnSenFunctions
  source_file: /src/phosphor-host-ipmid/sensorhandler.cpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: number
        type: uint8_t
      - name: typecode
        type: uint8_t
      - name: dbusname[32]
        type: char
      item_type: struct
      name: sensorTypemap_t
      pos:
        line_end: 59
        line_start: 54
        source_file: /src/phosphor-host-ipmid/sensorhandler.cpp
    - fields:
      - name: sennum
        type: uint8_t
      item_type: struct
      name: sensor_data_t
      pos:
        line_end: 87
        line_start: 84
        source_file: /src/phosphor-host-ipmid/sensorhandler.cpp
    typedefs: []
    union: []
- function_names:
  - ipmi::fru::preFormatProcessing
  - ipmi::fru::appendDataChecksum
  - ipmi::fru::padData
  - ipmi::fru::postFormatProcessing
  - ipmi::fru::appendChassisType
  - ipmi::fru::appendData
  - ipmi::fru::timeStringToRaw
  - ipmi::fru::appendMfgDate
  - ipmi::fru::buildCommonHeaderSection
  - ipmi::fru::buildChassisInfoArea
  - ipmi::fru::buildBoardInfoArea
  - ipmi::fru::buildProductInfoArea
  - ipmi::fru::buildFruAreaData
  - ipmi::fru::preFormatProcessing
  - ipmi::fru::appendDataChecksum
  - ipmi::fru::padData
  - ipmi::fru::postFormatProcessing
  - ipmi::fru::appendChassisType
  - ipmi::fru::appendData
  - ipmi::fru::timeStringToRaw
  - ipmi::fru::appendMfgDate
  - ipmi::fru::buildCommonHeaderSection
  - ipmi::fru::buildChassisInfoArea
  - ipmi::fru::buildBoardInfoArea
  - ipmi::fru::buildProductInfoArea
  - ipmi::fru::buildFruAreaData
  - ipmi::fru::preFormatProcessing
  - ipmi::fru::appendDataChecksum
  - ipmi::fru::padData
  - ipmi::fru::postFormatProcessing
  - ipmi::fru::appendChassisType
  - ipmi::fru::appendData
  - ipmi::fru::timeStringToRaw
  - ipmi::fru::appendMfgDate
  - ipmi::fru::buildCommonHeaderSection
  - ipmi::fru::buildChassisInfoArea
  - ipmi::fru::buildBoardInfoArea
  - ipmi::fru::buildProductInfoArea
  - ipmi::fru::buildFruAreaData
  - ipmi::fru::preFormatProcessing
  - ipmi::fru::appendDataChecksum
  - ipmi::fru::padData
  - ipmi::fru::postFormatProcessing
  - ipmi::fru::appendChassisType
  - ipmi::fru::appendData
  - ipmi::fru::timeStringToRaw
  - ipmi::fru::appendMfgDate
  - ipmi::fru::buildCommonHeaderSection
  - ipmi::fru::buildChassisInfoArea
  - ipmi::fru::buildBoardInfoArea
  - ipmi::fru::buildProductInfoArea
  - ipmi::fru::buildFruAreaData
  source_file: /src/phosphor-host-ipmid/ipmi_fru_info_area.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ipmi::getSbmrBootProgressStage
  - ipmi::updateBootProgressProperty
  - ipmi::updateBootProgressLastUpdateProperty
  - ipmi::sendBootProgressCode
  - ipmi::getBootProgressCode
  - ipmi::checkAllowedMediumType
  - ipmi::sbmrFilterCommands
  - ipmi::getSbmrBootProgressStage
  - ipmi::updateBootProgressProperty
  - ipmi::updateBootProgressLastUpdateProperty
  - ipmi::sendBootProgressCode
  - ipmi::getBootProgressCode
  - ipmi::checkAllowedMediumType
  - ipmi::sbmrFilterCommands
  - registerNetfnSBMRFunctions
  source_file: /src/phosphor-host-ipmid/sbmrhandler.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ipmiGlobalReset
  - registerNetFnGlobalFunctions
  source_file: /src/phosphor-host-ipmid/globalhandler.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - phosphor::host::command::Manager::Manager
  - phosphor::host::command::Manager::getNextCommand
  - phosphor::host::command::Manager::hostTimeout
  - phosphor::host::command::Manager::clearQueue
  - phosphor::host::command::Manager::checkQueueAndAlertHost
  - phosphor::host::command::Manager::execute
  - phosphor::host::command::Manager::clearQueueOnPowerOn
  - phosphor::host::command::Manager::Manager
  - phosphor::host::command::Manager::getNextCommand
  - phosphor::host::command::Manager::hostTimeout
  - phosphor::host::command::Manager::clearQueue
  - phosphor::host::command::Manager::checkQueueAndAlertHost
  - phosphor::host::command::Manager::execute
  - phosphor::host::command::Manager::clearQueueOnPowerOn
  - phosphor::host::command::Manager::Manager
  - phosphor::host::command::Manager::getNextCommand
  - phosphor::host::command::Manager::hostTimeout
  - phosphor::host::command::Manager::clearQueue
  - phosphor::host::command::Manager::checkQueueAndAlertHost
  - phosphor::host::command::Manager::execute
  - phosphor::host::command::Manager::clearQueueOnPowerOn
  - phosphor::host::command::Manager::Manager
  - phosphor::host::command::Manager::getNextCommand
  - phosphor::host::command::Manager::hostTimeout
  - phosphor::host::command::Manager::clearQueue
  - phosphor::host::command::Manager::checkQueueAndAlertHost
  - phosphor::host::command::Manager::execute
  - phosphor::host::command::Manager::clearQueueOnPowerOn
  - phosphor::host::command::Manager::Manager
  - phosphor::host::command::Manager::getNextCommand
  - phosphor::host::command::Manager::hostTimeout
  - phosphor::host::command::Manager::clearQueue
  - phosphor::host::command::Manager::checkQueueAndAlertHost
  - phosphor::host::command::Manager::execute
  - phosphor::host::command::Manager::clearQueueOnPowerOn
  - phosphor::host::command::Manager::Manager
  - phosphor::host::command::Manager::getNextCommand
  - phosphor::host::command::Manager::hostTimeout
  - phosphor::host::command::Manager::clearQueue
  - phosphor::host::command::Manager::checkQueueAndAlertHost
  - phosphor::host::command::Manager::execute
  - phosphor::host::command::Manager::clearQueueOnPowerOn
  - phosphor::host::command::Manager::Manager
  - phosphor::host::command::Manager::getNextCommand
  - phosphor::host::command::Manager::hostTimeout
  - phosphor::host::command::Manager::clearQueue
  - phosphor::host::command::Manager::checkQueueAndAlertHost
  - phosphor::host::command::Manager::execute
  - phosphor::host::command::Manager::clearQueueOnPowerOn
  - phosphor::host::command::Manager::Manager
  - phosphor::host::command::Manager::getNextCommand
  - phosphor::host::command::Manager::hostTimeout
  - phosphor::host::command::Manager::clearQueue
  - phosphor::host::command::Manager::checkQueueAndAlertHost
  - phosphor::host::command::Manager::execute
  - phosphor::host::command::Manager::clearQueueOnPowerOn
  source_file: /src/phosphor-host-ipmid/host-cmd-manager.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/phosphor-host-ipmid/ipmi_fru_info_area.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ipmi::sel::toHexStr
  - ipmi::sel::toHexStr
  - ipmi::sel::toHexStr
  - ipmi::sel::toHexStr
  source_file: /src/phosphor-host-ipmid/selutility.hpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: recordID
        type: uint16_t
      - name: recordType
        type: uint8_t
      - name: timeStamp
        type: uint32_t
      - name: generatorID
        type: uint16_t
      - name: eventMsgRevision
        type: uint8_t
      - name: sensorType
        type: uint8_t
      - name: sensorNum
        type: uint8_t
      - name: eventType
        type: uint8_t
      - name: eventData1
        type: uint8_t
      - name: eventData2
        type: uint8_t
      - name: eventData3
        type: uint8_t
      item_type: struct
      name: SELEventRecord
      pos:
        line_end: 74
        line_start: 61
        source_file: /src/phosphor-host-ipmid/selutility.hpp
    - fields:
      - name: recordID
        type: uint16_t
      - name: recordType
        type: uint8_t
      - name: timeStamp
        type: uint32_t
      - name: manufacturerID[3]
        type: uint8_t
      - name: oemDefined[6]
        type: uint8_t
      item_type: struct
      name: SELOEMRecordTypeCD
      pos:
        line_end: 89
        line_start: 82
        source_file: /src/phosphor-host-ipmid/selutility.hpp
    - fields:
      - name: recordID
        type: uint16_t
      - name: recordType
        type: uint8_t
      - name: oemDefined[13]
        type: uint8_t
      item_type: struct
      name: SELOEMRecordTypeEF
      pos:
        line_end: 102
        line_start: 97
        source_file: /src/phosphor-host-ipmid/selutility.hpp
    - fields:
      - name: nextRecordID
        type: uint16_t
      - name: event
        type: SELEventRecordFormat
      item_type: struct
      name: GetSELEntryResponse
      pos:
        line_end: 121
        line_start: 117
        source_file: /src/phosphor-host-ipmid/selutility.hpp
    - fields:
      - name: recordID
        type: uint16_t
      - name: recordType
        type: uint8_t
      - name: timeStamp
        type: uint32_t
      - name: generatorID
        type: uint16_t
      - name: eventMsgRevision
        type: uint8_t
      - name: sensorType
        type: uint8_t
      - name: sensorNum
        type: uint8_t
      - name: eventType
        type: uint8_t
      - name: eventData1
        type: uint8_t
      - name: eventData2
        type: uint8_t
      - name: eventData3
        type: uint8_t
      item_type: struct
      name: SELEventRecord
      pos:
        line_end: 74
        line_start: 61
        source_file: /src/phosphor-host-ipmid/selutility.hpp
    - fields:
      - name: recordID
        type: uint16_t
      - name: recordType
        type: uint8_t
      - name: timeStamp
        type: uint32_t
      - name: manufacturerID[3]
        type: uint8_t
      - name: oemDefined[6]
        type: uint8_t
      item_type: struct
      name: SELOEMRecordTypeCD
      pos:
        line_end: 89
        line_start: 82
        source_file: /src/phosphor-host-ipmid/selutility.hpp
    - fields:
      - name: recordID
        type: uint16_t
      - name: recordType
        type: uint8_t
      - name: oemDefined[13]
        type: uint8_t
      item_type: struct
      name: SELOEMRecordTypeEF
      pos:
        line_end: 102
        line_start: 97
        source_file: /src/phosphor-host-ipmid/selutility.hpp
    - fields:
      - name: nextRecordID
        type: uint16_t
      - name: event
        type: SELEventRecordFormat
      item_type: struct
      name: GetSELEntryResponse
      pos:
        line_end: 121
        line_start: 117
        source_file: /src/phosphor-host-ipmid/selutility.hpp
    - fields:
      - name: recordID
        type: uint16_t
      - name: recordType
        type: uint8_t
      - name: timeStamp
        type: uint32_t
      - name: generatorID
        type: uint16_t
      - name: eventMsgRevision
        type: uint8_t
      - name: sensorType
        type: uint8_t
      - name: sensorNum
        type: uint8_t
      - name: eventType
        type: uint8_t
      - name: eventData1
        type: uint8_t
      - name: eventData2
        type: uint8_t
      - name: eventData3
        type: uint8_t
      item_type: struct
      name: SELEventRecord
      pos:
        line_end: 74
        line_start: 61
        source_file: /src/phosphor-host-ipmid/selutility.hpp
    - fields:
      - name: recordID
        type: uint16_t
      - name: recordType
        type: uint8_t
      - name: timeStamp
        type: uint32_t
      - name: manufacturerID[3]
        type: uint8_t
      - name: oemDefined[6]
        type: uint8_t
      item_type: struct
      name: SELOEMRecordTypeCD
      pos:
        line_end: 89
        line_start: 82
        source_file: /src/phosphor-host-ipmid/selutility.hpp
    - fields:
      - name: recordID
        type: uint16_t
      - name: recordType
        type: uint8_t
      - name: oemDefined[13]
        type: uint8_t
      item_type: struct
      name: SELOEMRecordTypeEF
      pos:
        line_end: 102
        line_start: 97
        source_file: /src/phosphor-host-ipmid/selutility.hpp
    - fields:
      - name: nextRecordID
        type: uint16_t
      - name: event
        type: SELEventRecordFormat
      item_type: struct
      name: GetSELEntryResponse
      pos:
        line_end: 121
        line_start: 117
        source_file: /src/phosphor-host-ipmid/selutility.hpp
    - fields:
      - name: recordID
        type: uint16_t
      - name: recordType
        type: uint8_t
      - name: timeStamp
        type: uint32_t
      - name: generatorID
        type: uint16_t
      - name: eventMsgRevision
        type: uint8_t
      - name: sensorType
        type: uint8_t
      - name: sensorNum
        type: uint8_t
      - name: eventType
        type: uint8_t
      - name: eventData1
        type: uint8_t
      - name: eventData2
        type: uint8_t
      - name: eventData3
        type: uint8_t
      item_type: struct
      name: SELEventRecord
      pos:
        line_end: 74
        line_start: 61
        source_file: /src/phosphor-host-ipmid/selutility.hpp
    - fields:
      - name: recordID
        type: uint16_t
      - name: recordType
        type: uint8_t
      - name: timeStamp
        type: uint32_t
      - name: manufacturerID[3]
        type: uint8_t
      - name: oemDefined[6]
        type: uint8_t
      item_type: struct
      name: SELOEMRecordTypeCD
      pos:
        line_end: 89
        line_start: 82
        source_file: /src/phosphor-host-ipmid/selutility.hpp
    - fields:
      - name: recordID
        type: uint16_t
      - name: recordType
        type: uint8_t
      - name: oemDefined[13]
        type: uint8_t
      item_type: struct
      name: SELOEMRecordTypeEF
      pos:
        line_end: 102
        line_start: 97
        source_file: /src/phosphor-host-ipmid/selutility.hpp
    - fields:
      - name: nextRecordID
        type: uint16_t
      - name: event
        type: SELEventRecordFormat
      item_type: struct
      name: GetSELEntryResponse
      pos:
        line_end: 121
        line_start: 117
        source_file: /src/phosphor-host-ipmid/selutility.hpp
    typedefs: []
    union:
    - fields:
      - name: eventRecord
        type: SELEventRecord
      - name: oemCD
        type: SELOEMRecordTypeCD
      - name: oemEF
        type: SELOEMRecordTypeEF
      item_type: union
      name: SELEventRecordFormat
      pos:
        line_end: 111
        line_start: 106
        source_file: /src/phosphor-host-ipmid/selutility.hpp
    - fields:
      - name: eventRecord
        type: SELEventRecord
      - name: oemCD
        type: SELOEMRecordTypeCD
      - name: oemEF
        type: SELOEMRecordTypeEF
      item_type: union
      name: SELEventRecordFormat
      pos:
        line_end: 111
        line_start: 106
        source_file: /src/phosphor-host-ipmid/selutility.hpp
    - fields:
      - name: eventRecord
        type: SELEventRecord
      - name: oemCD
        type: SELOEMRecordTypeCD
      - name: oemEF
        type: SELOEMRecordTypeEF
      item_type: union
      name: SELEventRecordFormat
      pos:
        line_end: 111
        line_start: 106
        source_file: /src/phosphor-host-ipmid/selutility.hpp
    - fields:
      - name: eventRecord
        type: SELEventRecord
      - name: oemCD
        type: SELOEMRecordTypeCD
      - name: oemEF
        type: SELOEMRecordTypeEF
      item_type: union
      name: SELEventRecordFormat
      pos:
        line_end: 111
        line_start: 106
        source_file: /src/phosphor-host-ipmid/selutility.hpp
- function_names:
  - settings::Objects
  - '& operator=(const Objects&)'
  - settings::Objects
  - '& operator=(Objects&&)'
  - ~Objects()
  - settings::Objects
  - '& operator=(const Objects&)'
  - settings::Objects
  - '& operator=(Objects&&)'
  - ~Objects()
  source_file: /src/phosphor-host-ipmid/settings.hpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: service(const Path& path, const Interface& interface) const
        type: Service
      - name: map
        type: std::map<Interface, std::vector<Path>>
      - name: serviceMap
        type: std::map<Path, Service>
      - name: '& bus'
        type: sdbusplus::bus_t
      item_type: struct
      name: Objects
      pos:
        line_end: 52
        line_start: 17
        source_file: /src/phosphor-host-ipmid/settings.hpp
    - fields:
      - name: service(const Path& path, const Interface& interface) const
        type: Service
      - name: map
        type: std::map<Interface, std::vector<Path>>
      - name: serviceMap
        type: std::map<Path, Service>
      - name: '& bus'
        type: sdbusplus::bus_t
      item_type: struct
      name: Objects
      pos:
        line_end: 52
        line_start: 17
        source_file: /src/phosphor-host-ipmid/settings.hpp
    typedefs: []
    union: []
- function_names:
  - settings::Objects::Objects
  - settings::Objects::service
  - settings::Objects::Objects
  - settings::Objects::service
  source_file: /src/phosphor-host-ipmid/settings.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/phosphor-host-ipmid/ipmiallowlist.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ipmi::sensor::getAssertionSet
  - ipmi::sensor::updateToDbus
  - ipmi::sensor::get::nameParentLeaf
  - ipmi::sensor::get::mapDbusToAssertion
  - ipmi::sensor::get::mapDbusToEventdata2
  - ipmi::sensor::get::assertion
  - ipmi::sensor::get::eventdata2
  - ipmi::sensor::get::assertion
  - ipmi::sensor::get::eventdata2
  - ipmi::sensor::get::nameParentLeaf
  - ipmi::sensor::get::mapDbusToAssertion
  - ipmi::sensor::get::mapDbusToEventdata2
  - ipmi::sensor::get::assertion
  - ipmi::sensor::get::eventdata2
  - ipmi::sensor::get::assertion
  - ipmi::sensor::get::eventdata2
  - ipmi::sensor::set::makeDbusMsg
  - ipmi::sensor::set::eventdata
  - ipmi::sensor::set::assertion
  - ipmi::sensor::set::makeDbusMsg
  - ipmi::sensor::set::eventdata
  - ipmi::sensor::set::assertion
  - ipmi::sensor::notify::makeDbusMsg
  - ipmi::sensor::notify::assertion
  - ipmi::sensor::notify::makeDbusMsg
  - ipmi::sensor::notify::assertion
  - ipmi::sensor::inventory::get::assertion
  - ipmi::sensor::inventory::get::assertion
  - ipmi::sensor::inventory::get::assertion
  - ipmi::sensor::inventory::get::assertion
  - ipmi::sensor::inventory::get::assertion
  - ipmi::sensor::inventory::get::assertion
  - ipmi::sensor::inventory::get::assertion
  - ipmi::sensor::inventory::get::assertion
  - ipmi::sensor::getAssertionSet
  - ipmi::sensor::updateToDbus
  - ipmi::sensor::get::nameParentLeaf
  - ipmi::sensor::get::mapDbusToAssertion
  - ipmi::sensor::get::mapDbusToEventdata2
  - ipmi::sensor::get::assertion
  - ipmi::sensor::get::eventdata2
  - ipmi::sensor::get::assertion
  - ipmi::sensor::get::eventdata2
  - ipmi::sensor::get::nameParentLeaf
  - ipmi::sensor::get::mapDbusToAssertion
  - ipmi::sensor::get::mapDbusToEventdata2
  - ipmi::sensor::get::assertion
  - ipmi::sensor::get::eventdata2
  - ipmi::sensor::get::assertion
  - ipmi::sensor::get::eventdata2
  - ipmi::sensor::set::makeDbusMsg
  - ipmi::sensor::set::eventdata
  - ipmi::sensor::set::assertion
  - ipmi::sensor::set::makeDbusMsg
  - ipmi::sensor::set::eventdata
  - ipmi::sensor::set::assertion
  - ipmi::sensor::notify::makeDbusMsg
  - ipmi::sensor::notify::assertion
  - ipmi::sensor::notify::makeDbusMsg
  - ipmi::sensor::notify::assertion
  - ipmi::sensor::inventory::get::assertion
  - ipmi::sensor::inventory::get::assertion
  - ipmi::sensor::inventory::get::assertion
  - ipmi::sensor::inventory::get::assertion
  - ipmi::sensor::inventory::get::assertion
  - ipmi::sensor::inventory::get::assertion
  - ipmi::sensor::inventory::get::assertion
  - ipmi::sensor::inventory::get::assertion
  - ipmi::sensor::getAssertionSet
  - ipmi::sensor::updateToDbus
  - ipmi::sensor::get::nameParentLeaf
  - ipmi::sensor::get::mapDbusToAssertion
  - ipmi::sensor::get::mapDbusToEventdata2
  - ipmi::sensor::get::assertion
  - ipmi::sensor::get::eventdata2
  - ipmi::sensor::get::assertion
  - ipmi::sensor::get::eventdata2
  - ipmi::sensor::get::nameParentLeaf
  - ipmi::sensor::get::mapDbusToAssertion
  - ipmi::sensor::get::mapDbusToEventdata2
  - ipmi::sensor::get::assertion
  - ipmi::sensor::get::eventdata2
  - ipmi::sensor::get::assertion
  - ipmi::sensor::get::eventdata2
  - ipmi::sensor::set::makeDbusMsg
  - ipmi::sensor::set::eventdata
  - ipmi::sensor::set::assertion
  - ipmi::sensor::set::makeDbusMsg
  - ipmi::sensor::set::eventdata
  - ipmi::sensor::set::assertion
  - ipmi::sensor::notify::makeDbusMsg
  - ipmi::sensor::notify::assertion
  - ipmi::sensor::notify::makeDbusMsg
  - ipmi::sensor::notify::assertion
  - ipmi::sensor::inventory::get::assertion
  - ipmi::sensor::inventory::get::assertion
  - ipmi::sensor::inventory::get::assertion
  - ipmi::sensor::inventory::get::assertion
  - ipmi::sensor::inventory::get::assertion
  - ipmi::sensor::inventory::get::assertion
  - ipmi::sensor::inventory::get::assertion
  - ipmi::sensor::inventory::get::assertion
  - ipmi::sensor::getAssertionSet
  - ipmi::sensor::updateToDbus
  - ipmi::sensor::get::nameParentLeaf
  - ipmi::sensor::get::mapDbusToAssertion
  - ipmi::sensor::get::mapDbusToEventdata2
  - ipmi::sensor::get::assertion
  - ipmi::sensor::get::eventdata2
  - ipmi::sensor::get::assertion
  - ipmi::sensor::get::eventdata2
  - ipmi::sensor::get::nameParentLeaf
  - ipmi::sensor::get::mapDbusToAssertion
  - ipmi::sensor::get::mapDbusToEventdata2
  - ipmi::sensor::get::assertion
  - ipmi::sensor::get::eventdata2
  - ipmi::sensor::get::assertion
  - ipmi::sensor::get::eventdata2
  - ipmi::sensor::set::makeDbusMsg
  - ipmi::sensor::set::eventdata
  - ipmi::sensor::set::assertion
  - ipmi::sensor::set::makeDbusMsg
  - ipmi::sensor::set::eventdata
  - ipmi::sensor::set::assertion
  - ipmi::sensor::notify::makeDbusMsg
  - ipmi::sensor::notify::assertion
  - ipmi::sensor::notify::makeDbusMsg
  - ipmi::sensor::notify::assertion
  - ipmi::sensor::inventory::get::assertion
  - ipmi::sensor::inventory::get::assertion
  - ipmi::sensor::inventory::get::assertion
  - ipmi::sensor::inventory::get::assertion
  - ipmi::sensor::inventory::get::assertion
  - ipmi::sensor::inventory::get::assertion
  - ipmi::sensor::inventory::get::assertion
  - ipmi::sensor::inventory::get::assertion
  source_file: /src/phosphor-host-ipmid/sensordatahandler.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - reserveSel
  - checkSELReservation
  - cancelSELReservation
  - getInterfaceIndex
  - ipmid_get_sd_event_connection
  - ipmid_get_sd_bus_connection
  - ipmi::makeCmdKey
  - ipmi::impl::registerHandler
  - ipmi::impl::registerGroupHandler
  - ipmi::impl::registerOemHandler
  - ipmi::impl::registerFilter
  - ipmi::impl::registerHandler
  - ipmi::impl::registerGroupHandler
  - ipmi::impl::registerOemHandler
  - ipmi::impl::registerFilter
  - ipmi::filterIpmiCommand
  - ipmi::executeIpmiCommandCommon
  - ipmi::executeIpmiGroupCommand
  - ipmi::executeIpmiOemCommand
  - ipmi::executeIpmiCommand
  - ipmi::utils::assoc_erase_if
  - ipmi::utils::assoc_erase_if
  - ipmi::updateOwners
  - ipmi::doListNames
  - ipmi::nameChangeHandler
  - ipmi::updateOwners
  - ipmi::doListNames
  - ipmi::nameChangeHandler
  - ipmi::channelFromMessage
  - ipmi::executionEntry
  - ipmi::IpmiProvider
  - ipmi::IpmiProvider
  - '& operator=(const IpmiProvider&)'
  - ipmi::IpmiProvider
  - '& operator=(IpmiProvider&&)'
  - ipmi::IpmiProvider
  - ~IpmiProvider()
  - ipmi::isOpen
  - ipmi::loadProviders
  - ipmi::makeCmdKey
  - ipmi::impl::registerHandler
  - ipmi::impl::registerGroupHandler
  - ipmi::impl::registerOemHandler
  - ipmi::impl::registerFilter
  - ipmi::impl::registerHandler
  - ipmi::impl::registerGroupHandler
  - ipmi::impl::registerOemHandler
  - ipmi::impl::registerFilter
  - ipmi::filterIpmiCommand
  - ipmi::executeIpmiCommandCommon
  - ipmi::executeIpmiGroupCommand
  - ipmi::executeIpmiOemCommand
  - ipmi::executeIpmiCommand
  - ipmi::utils::assoc_erase_if
  - ipmi::utils::assoc_erase_if
  - ipmi::updateOwners
  - ipmi::doListNames
  - ipmi::nameChangeHandler
  - ipmi::updateOwners
  - ipmi::doListNames
  - ipmi::nameChangeHandler
  - ipmi::channelFromMessage
  - ipmi::executionEntry
  - ipmi::IpmiProvider
  - ipmi::IpmiProvider
  - '& operator=(const IpmiProvider&)'
  - ipmi::IpmiProvider
  - '& operator=(IpmiProvider&&)'
  - ipmi::IpmiProvider
  - ~IpmiProvider()
  - ipmi::isOpen
  - ipmi::loadProviders
  - ipmi_register_callback
  - ~LegacyRouter()
  - oem::LegacyRouter::activate
  - oem::LegacyRouter::registerHandler
  - oem::mutableRouter
  - ~LegacyRouter()
  - oem::LegacyRouter::activate
  - oem::LegacyRouter::registerHandler
  - oem::mutableRouter
  - handleLegacyIpmiCommand
  - ipmid_send_cmd_to_host
  - ipmid_get_host_cmd_manager
  - main
  source_file: /src/phosphor-host-ipmid/ipmid-new.cpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '* addr'
        type: void
      - name: name
        type: std::string
      item_type: struct
      name: IpmiProvider
      pos:
        line_end: 646
        line_start: 594
        source_file: /src/phosphor-host-ipmid/ipmid-new.cpp
    - fields:
      - name: '* addr'
        type: void
      - name: name
        type: std::string
      item_type: struct
      name: IpmiProvider
      pos:
        line_end: 646
        line_start: 594
        source_file: /src/phosphor-host-ipmid/ipmid-new.cpp
    typedefs: []
    union: []
- function_names: []
  source_file: /src/phosphor-host-ipmid/systemintfcmds.hpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SOFT_OFF
      pos:
        line_end: 8
        line_start: 7
        source_file: /src/phosphor-host-ipmid/systemintfcmds.hpp
      type_or_value: '0x00'
    - item_type: preproc_def
      name: CMD_POWER
      pos:
        line_end: 10
        line_start: 9
        source_file: /src/phosphor-host-ipmid/systemintfcmds.hpp
      type_or_value: '0x04'
    - item_type: preproc_def
      name: CMD_HEARTBEAT
      pos:
        line_end: 12
        line_start: 11
        source_file: /src/phosphor-host-ipmid/systemintfcmds.hpp
      type_or_value: '0xFF'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/phosphor-host-ipmid/chassishandler.hpp
  types:
    enum:
    - enumerators:
      - name: setInProgress
        value: '0x0'
      - name: bootInfo
        value: '0x4'
      - name: opalNetworkSettings
        value: '0x61'
      - name: bootFlagValidClr
        value: '0x3'
      - name: bootFlags
        value: '0x5'
      item_type: enum
      name: BootOptionParameter
      pos:
        line_end: 24
        line_start: 17
        source_file: /src/phosphor-host-ipmid/chassishandler.hpp
    - enumerators:
      - name: setInProgress
        value: '3'
      - name: opalNetworkSettings
        value: '50'
      - name: bootFlags
        value: '5'
      item_type: enum
      name: BootOptionResponseSize
      pos:
        line_end: 31
        line_start: 26
        source_file: /src/phosphor-host-ipmid/chassishandler.hpp
    - enumerators:
      - name: 'off'
        value: '0x0'
      - name: temporaryOn
        value: '0x1'
      - name: reserved
        value: '0x3'
      - name: indefiniteOn
        value: '0x2'
      item_type: enum
      name: ChassisIDState
      pos:
        line_end: 39
        line_start: 33
        source_file: /src/phosphor-host-ipmid/chassishandler.hpp
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/phosphor-host-ipmid/read_fru_data.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/phosphor-host-ipmid/dcmihandler.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - phosphor::host::command::Host::execute
  - phosphor::host::command::Host::commandStatusHandler
  - phosphor::host::command::Host::currentFirmwareCondition
  - phosphor::host::command::Host::execute
  - phosphor::host::command::Host::commandStatusHandler
  - phosphor::host::command::Host::currentFirmwareCondition
  - phosphor::host::command::Host::execute
  - phosphor::host::command::Host::commandStatusHandler
  - phosphor::host::command::Host::currentFirmwareCondition
  - phosphor::host::command::Host::execute
  - phosphor::host::command::Host::commandStatusHandler
  - phosphor::host::command::Host::currentFirmwareCondition
  - phosphor::host::command::Host::execute
  - phosphor::host::command::Host::commandStatusHandler
  - phosphor::host::command::Host::currentFirmwareCondition
  - phosphor::host::command::Host::execute
  - phosphor::host::command::Host::commandStatusHandler
  - phosphor::host::command::Host::currentFirmwareCondition
  - phosphor::host::command::Host::execute
  - phosphor::host::command::Host::commandStatusHandler
  - phosphor::host::command::Host::currentFirmwareCondition
  - phosphor::host::command::Host::execute
  - phosphor::host::command::Host::commandStatusHandler
  - phosphor::host::command::Host::currentFirmwareCondition
  source_file: /src/phosphor-host-ipmid/host-interface.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - sdbusplus::error::org::open_power::host::name
  - sdbusplus::error::org::open_power::host::description
  - sdbusplus::error::org::open_power::host::what
  - sdbusplus::error::org::open_power::host::name
  - sdbusplus::error::org::open_power::host::description
  - sdbusplus::error::org::open_power::host::what
  - sdbusplus::error::org::open_power::host::name
  - sdbusplus::error::org::open_power::host::description
  - sdbusplus::error::org::open_power::host::what
  - sdbusplus::error::org::open_power::host::name
  - sdbusplus::error::org::open_power::host::description
  - sdbusplus::error::org::open_power::host::what
  source_file: /src/phosphor-host-ipmid/error-HostEvent.hpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: errName
        type: auto
      - name: errDesc
        type: auto
      - name: errWhat
        type: auto
      item_type: struct
      name: Event
      pos:
        line_end: 27
        line_start: 8
        source_file: /src/phosphor-host-ipmid/error-HostEvent.hpp
    - fields:
      - name: errName
        type: auto
      - name: errDesc
        type: auto
      - name: errWhat
        type: auto
      item_type: struct
      name: MaintenanceProcedure
      pos:
        line_end: 50
        line_start: 28
        source_file: /src/phosphor-host-ipmid/error-HostEvent.hpp
    - fields:
      - name: errName
        type: auto
      - name: errDesc
        type: auto
      - name: errWhat
        type: auto
      item_type: struct
      name: Event
      pos:
        line_end: 27
        line_start: 8
        source_file: /src/phosphor-host-ipmid/error-HostEvent.hpp
    - fields:
      - name: errName
        type: auto
      - name: errDesc
        type: auto
      - name: errWhat
        type: auto
      item_type: struct
      name: MaintenanceProcedure
      pos:
        line_end: 50
        line_start: 28
        source_file: /src/phosphor-host-ipmid/error-HostEvent.hpp
    typedefs: []
    union: []
- function_names:
  - dcmi::parseJSONConfig
  - dcmi::isDCMIPowerMgmtSupported
  - dcmi::getPCapObject
  - dcmi::getPcap
  - dcmi::getPcapEnabled
  - dcmi::getPcapExceptAction
  - dcmi::getPcapCorrectTime
  - dcmi::getPcapSamplPeriod
  - dcmi::setPcap
  - dcmi::setPcapEnable
  - dcmi::setPcapExceptAction
  - dcmi::setPcapCorrectTime
  - dcmi::setPcapSamplPeriod
  - dcmi::readAssetTag
  - dcmi::writeAssetTag
  - dcmi::getHostName
  - dcmi::getDHCPEnabled
  - dcmi::getDHCPOption
  - dcmi::setDHCPOption
  - dcmi::parseJSONConfig
  - dcmi::isDCMIPowerMgmtSupported
  - dcmi::getPCapObject
  - dcmi::getPcap
  - dcmi::getPcapEnabled
  - dcmi::getPcapExceptAction
  - dcmi::getPcapCorrectTime
  - dcmi::getPcapSamplPeriod
  - dcmi::setPcap
  - dcmi::setPcapEnable
  - dcmi::setPcapExceptAction
  - dcmi::setPcapCorrectTime
  - dcmi::setPcapSamplPeriod
  - dcmi::readAssetTag
  - dcmi::writeAssetTag
  - dcmi::getHostName
  - dcmi::getDHCPEnabled
  - dcmi::getDHCPOption
  - dcmi::setDHCPOption
  - getPowerLimit
  - setPowerLimit
  - applyPowerLimit
  - getAssetTag
  - setAssetTag
  - getMgmntCtrlIdStr
  - setMgmntCtrlIdStr
  - getDCMICapabilities
  - dcmi::temp_readings::readTemp
  - dcmi::temp_readings::read
  - dcmi::temp_readings::readTemp
  - dcmi::temp_readings::read
  - dcmi::temp_readings::readTemp
  - dcmi::temp_readings::read
  - dcmi::temp_readings::readTemp
  - dcmi::temp_readings::read
  - getTempReadings
  - setDCMIConfParams
  - getDCMIConfParams
  - readPower
  - getPowerReading
  - dcmi::sensor_info::read
  - dcmi::sensor_info::read
  - dcmi::sensor_info::read
  - dcmi::sensor_info::read
  - getSensorInfo
  - registerNetFnDcmiFunctions
  source_file: /src/phosphor-host-ipmid/dcmihandler.cpp
  types:
    enum:
    - enumerators:
      - name: ActivateDHCP
        value: '1'
      - name: DHCPTiming2
      - name: DHCPTiming1
      - name: DiscoveryConfig
      - name: DHCPTiming3
      item_type: enum
      name: DCMIConfigParameters
      pos:
        line_end: 69
        line_start: 62
        source_file: /src/phosphor-host-ipmid/dcmihandler.cpp
    - enumerators:
      - name: NoAction
        value: '0x00'
      - name: Oem02
      - name: HardPowerOff
      - name: Oem03
      - name: Oem04
      - name: Oem05
      - name: Oem06
      - name: Oem07
      - name: Oem08
      - name: Oem09
      - name: Oem0C
      - name: Oem0F
      - name: Oem0B
      - name: Oem10
      - name: Oem0E
      - name: Oem0A
      - name: LogEventOnly
      - name: Oem0D
      item_type: enum
      name: ExceptActOptions
      pos:
        line_end: 96
        line_start: 76
        source_file: /src/phosphor-host-ipmid/dcmihandler.cpp
    - enumerators:
      - name: ActivateDHCP
        value: '1'
      - name: DHCPTiming2
      - name: DHCPTiming1
      - name: DiscoveryConfig
      - name: DHCPTiming3
      item_type: enum
      name: DCMIConfigParameters
      pos:
        line_end: 69
        line_start: 62
        source_file: /src/phosphor-host-ipmid/dcmihandler.cpp
    - enumerators:
      - name: NoAction
        value: '0x00'
      - name: Oem02
      - name: HardPowerOff
      - name: Oem03
      - name: Oem04
      - name: Oem05
      - name: Oem06
      - name: Oem07
      - name: Oem08
      - name: Oem09
      - name: Oem0C
      - name: Oem0F
      - name: Oem0B
      - name: Oem10
      - name: Oem0E
      - name: Oem0A
      - name: LogEventOnly
      - name: Oem0D
      item_type: enum
      name: ExceptActOptions
      pos:
        line_end: 96
        line_start: 76
        source_file: /src/phosphor-host-ipmid/dcmihandler.cpp
    - enumerators:
      - name: SupportedDcmiCaps
        value: '0x01'
      - name: ManageabilityAccessAttributes
        value: '0x04'
      - name: MandatoryPlatAttributes
        value: '0x02'
      - name: OptionalPlatAttributes
        value: '0x03'
      item_type: enum
      name: DCMICapParameters
      pos:
        line_end: 998
        line_start: 992
        source_file: /src/phosphor-host-ipmid/dcmihandler.cpp
    - enumerators:
      - name: SystemPowerStatistics
        value: '1'
      - name: EnhancedSystemPowerStatistics
        value: '2'
      item_type: enum
      name: PowerMode
      pos:
        line_end: 1402
        line_start: 1398
        source_file: /src/phosphor-host-ipmid/dcmihandler.cpp
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - getWRAllowlist
  - getActiveSoftwareVersionInfo
  - getCurrentBmcStateWithFallback
  - acpi_state::isValidACPIState
  - acpi_state::isValidACPIState
  - ipmiSetAcpiPowerState
  - ipmiGetAcpiPowerState
  - convertVersion
  - ipmiAppGetDeviceId
  - ipmiAppGetSelfTestResults
  - rfc4122ToIpmi
  - ipmiAppGetDeviceGuid
  - ipmiAppGetBtCapabilities
  - ipmiAppGetSystemGuid
  - setSessionState
  - ipmiAppCloseSession
  - getTotalSessionCount
  - getSessionInfoRequestData
  - getSessionState
  - getSessionDetails
  - ipmiAppGetSessionInfo
  - getSysFWVersion
  - sysInfoReadSystemName
  - ipmi::responseParmNotSupported
  - ipmi::responseSetInProgressActive
  - ipmi::responseParmNotSupported
  - ipmi::responseSetInProgressActive
  - ipmiAppGetSystemInfo
  - ipmiAppSetSystemInfo
  - convertStringToData
  - populateI2CControllerWRAllowlist
  - isWriteDataAllowlisted
  - isCmdAllowlisted
  - populateI2CControllerWRAllowlist
  - ipmiControllerWriteRead
  - registerNetFnAppFunctions
  source_file: /src/phosphor-host-ipmid/apphandler.cpp
  types:
    enum:
    - enumerators:
      - name: sysPowerState
        value: '0x00'
      - name: devPowerState
        value: '0x01'
      item_type: enum
      name: PowerStateType
      pos:
        line_end: 223
        line_start: 219
        source_file: /src/phosphor-host-ipmid/apphandler.cpp
    - enumerators:
      - name: s0G0D0
        value: '0x00'
      - name: s3D3
        value: '0x03'
      - name: s2D2
        value: '0x02'
      - name: s4
        value: '0x04'
      - name: s1D1
        value: '0x01'
      - name: s5G2
        value: '0x05'
      - name: s4S5
        value: '0x06'
      - name: g3
        value: '0x07'
      - name: sleep
        value: '0x08'
      - name: g1Sleep
        value: '0x09'
      - name: override
        value: '0x0a'
      - name: legacyOn
        value: '0x20'
      - name: noChange
        value: '0x7f'
      - name: legacyOff
        value: '0x21'
      - name: unknown
        value: '0x2a'
      item_type: enum
      name: PowerState
      pos:
        line_end: 243
        line_start: 226
        source_file: /src/phosphor-host-ipmid/apphandler.cpp
    - enumerators:
      - name: sysPowerState
        value: '0x00'
      - name: devPowerState
        value: '0x01'
      item_type: enum
      name: PowerStateType
      pos:
        line_end: 223
        line_start: 219
        source_file: /src/phosphor-host-ipmid/apphandler.cpp
    - enumerators:
      - name: s0G0D0
        value: '0x00'
      - name: s3D3
        value: '0x03'
      - name: s2D2
        value: '0x02'
      - name: s4
        value: '0x04'
      - name: s1D1
        value: '0x01'
      - name: s5G2
        value: '0x05'
      - name: s4S5
        value: '0x06'
      - name: g3
        value: '0x07'
      - name: sleep
        value: '0x08'
      - name: g1Sleep
        value: '0x09'
      - name: override
        value: '0x0a'
      - name: legacyOn
        value: '0x20'
      - name: noChange
        value: '0x7f'
      - name: legacyOff
        value: '0x21'
      - name: unknown
        value: '0x2a'
      item_type: enum
      name: PowerState
      pos:
        line_end: 243
        line_start: 226
        source_file: /src/phosphor-host-ipmid/apphandler.cpp
    preproc_defs: []
    structs:
    - fields:
      - name: busId
        type: uint8_t
      - name: targetAddr
        type: uint8_t
      - name: targetAddrMask
        type: uint8_t
      - name: data
        type: std::vector<uint8_t>
      - name: dataMask
        type: std::vector<uint8_t>
      item_type: struct
      name: i2cControllerWRAllowlist
      pos:
        line_end: 72
        line_start: 65
        source_file: /src/phosphor-host-ipmid/apphandler.cpp
    - fields:
      - name: major
        type: char
      - name: minor
        type: char
      - name: aux[4]
        type: uint8_t
      item_type: struct
      name: Revision
      pos:
        line_end: 471
        line_start: 466
        source_file: /src/phosphor-host-ipmid/apphandler.cpp
    - fields:
      - name: id
        type: uint8_t
      - name: revision
        type: uint8_t
      - name: fw[2]
        type: uint8_t
      - name: ipmiVer
        type: uint8_t
      - name: addnDevSupport
        type: uint8_t
      - name: manufId
        type: uint24_t
      - name: prodId
        type: uint16_t
      - name: aux
        type: uint32_t
      item_type: struct
      name: devId
      pos:
        line_end: 632
        line_start: 622
        source_file: /src/phosphor-host-ipmid/apphandler.cpp
    typedefs: []
    union: []
- function_names: []
  source_file: /src/phosphor-host-ipmid/storageaddsel.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/phosphor-host-ipmid/fruread.hpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: section
        type: std::string
      - name: property
        type: std::string
      - name: delimiter
        type: std::string
      item_type: struct
      name: IPMIFruData
      pos:
        line_end: 14
        line_start: 9
        source_file: /src/phosphor-host-ipmid/fruread.hpp
    - fields:
      - name: entityID
        type: uint8_t
      - name: entityInstance
        type: uint8_t
      - name: path
        type: FruInstancePath
      - name: interfaces
        type: DbusInterfaceVec
      item_type: struct
      name: FruInstance
      pos:
        line_end: 30
        line_start: 24
        source_file: /src/phosphor-host-ipmid/fruread.hpp
    typedefs: []
    union: []
- function_names:
  - what
  - get_sdr::key::setOwnerIdIpmb
  - get_sdr::key::setOwnerIdSystemSw
  - get_sdr::key::setOwnerIdBmc
  - get_sdr::key::setOwnerIdAddress
  - get_sdr::key::setOwnerLun
  - get_sdr::key::setOwnerLunChannel
  - get_sdr::key::setFlags
  - get_sdr::key::setOwnerIdIpmb
  - get_sdr::key::setOwnerIdSystemSw
  - get_sdr::key::setOwnerIdBmc
  - get_sdr::key::setOwnerIdAddress
  - get_sdr::key::setOwnerLun
  - get_sdr::key::setOwnerLunChannel
  - get_sdr::key::setFlags
  - get_sdr::body::setEntityInstanceNumber
  - get_sdr::body::setEntityPhysicalEntity
  - get_sdr::body::setEntityLogicalContainer
  - get_sdr::body::sensorScanningState
  - get_sdr::body::eventGenerationState
  - get_sdr::body::initTypesState
  - get_sdr::body::initHystState
  - get_sdr::body::initThreshState
  - get_sdr::body::initEventsState
  - get_sdr::body::initScanningState
  - get_sdr::body::initSettableState
  - get_sdr::body::setPercentage
  - get_sdr::body::unsetPercentage
  - get_sdr::body::setModifierOperation
  - get_sdr::body::setRateUnit
  - get_sdr::body::setAnalogDataFormat
  - get_sdr::body::setM
  - get_sdr::body::setTolerance
  - get_sdr::body::setB
  - get_sdr::body::setAccuracy
  - get_sdr::body::setAccuracyExp
  - get_sdr::body::setSensorDir
  - get_sdr::body::setBexp
  - get_sdr::body::setRexp
  - get_sdr::body::setIdStrLen
  - get_sdr::body::setIdStrLen
  - get_sdr::body::getIdStrLen
  - get_sdr::body::setIdType
  - get_sdr::body::setIdType
  - get_sdr::body::setDeviceIdStrLen
  - get_sdr::body::getDeviceIdStrLen
  - get_sdr::body::setReadableMask
  - get_sdr::body::setEntityInstanceNumber
  - get_sdr::body::setEntityPhysicalEntity
  - get_sdr::body::setEntityLogicalContainer
  - get_sdr::body::sensorScanningState
  - get_sdr::body::eventGenerationState
  - get_sdr::body::initTypesState
  - get_sdr::body::initHystState
  - get_sdr::body::initThreshState
  - get_sdr::body::initEventsState
  - get_sdr::body::initScanningState
  - get_sdr::body::initSettableState
  - get_sdr::body::setPercentage
  - get_sdr::body::unsetPercentage
  - get_sdr::body::setModifierOperation
  - get_sdr::body::setRateUnit
  - get_sdr::body::setAnalogDataFormat
  - get_sdr::body::setM
  - get_sdr::body::setTolerance
  - get_sdr::body::setB
  - get_sdr::body::setAccuracy
  - get_sdr::body::setAccuracyExp
  - get_sdr::body::setSensorDir
  - get_sdr::body::setBexp
  - get_sdr::body::setRexp
  - get_sdr::body::setIdStrLen
  - get_sdr::body::setIdStrLen
  - get_sdr::body::getIdStrLen
  - get_sdr::body::setIdType
  - get_sdr::body::setIdType
  - get_sdr::body::setDeviceIdStrLen
  - get_sdr::body::getDeviceIdStrLen
  - get_sdr::body::setReadableMask
  - get_sdr::key::setOwnerIdIpmb
  - get_sdr::key::setOwnerIdSystemSw
  - get_sdr::key::setOwnerIdBmc
  - get_sdr::key::setOwnerIdAddress
  - get_sdr::key::setOwnerLun
  - get_sdr::key::setOwnerLunChannel
  - get_sdr::key::setFlags
  - get_sdr::key::setOwnerIdIpmb
  - get_sdr::key::setOwnerIdSystemSw
  - get_sdr::key::setOwnerIdBmc
  - get_sdr::key::setOwnerIdAddress
  - get_sdr::key::setOwnerLun
  - get_sdr::key::setOwnerLunChannel
  - get_sdr::key::setFlags
  - get_sdr::body::setEntityInstanceNumber
  - get_sdr::body::setEntityPhysicalEntity
  - get_sdr::body::setEntityLogicalContainer
  - get_sdr::body::sensorScanningState
  - get_sdr::body::eventGenerationState
  - get_sdr::body::initTypesState
  - get_sdr::body::initHystState
  - get_sdr::body::initThreshState
  - get_sdr::body::initEventsState
  - get_sdr::body::initScanningState
  - get_sdr::body::initSettableState
  - get_sdr::body::setPercentage
  - get_sdr::body::unsetPercentage
  - get_sdr::body::setModifierOperation
  - get_sdr::body::setRateUnit
  - get_sdr::body::setAnalogDataFormat
  - get_sdr::body::setM
  - get_sdr::body::setTolerance
  - get_sdr::body::setB
  - get_sdr::body::setAccuracy
  - get_sdr::body::setAccuracyExp
  - get_sdr::body::setSensorDir
  - get_sdr::body::setBexp
  - get_sdr::body::setRexp
  - get_sdr::body::setIdStrLen
  - get_sdr::body::setIdStrLen
  - get_sdr::body::getIdStrLen
  - get_sdr::body::setIdType
  - get_sdr::body::setIdType
  - get_sdr::body::setDeviceIdStrLen
  - get_sdr::body::getDeviceIdStrLen
  - get_sdr::body::setReadableMask
  - get_sdr::body::setEntityInstanceNumber
  - get_sdr::body::setEntityPhysicalEntity
  - get_sdr::body::setEntityLogicalContainer
  - get_sdr::body::sensorScanningState
  - get_sdr::body::eventGenerationState
  - get_sdr::body::initTypesState
  - get_sdr::body::initHystState
  - get_sdr::body::initThreshState
  - get_sdr::body::initEventsState
  - get_sdr::body::initScanningState
  - get_sdr::body::initSettableState
  - get_sdr::body::setPercentage
  - get_sdr::body::unsetPercentage
  - get_sdr::body::setModifierOperation
  - get_sdr::body::setRateUnit
  - get_sdr::body::setAnalogDataFormat
  - get_sdr::body::setM
  - get_sdr::body::setTolerance
  - get_sdr::body::setB
  - get_sdr::body::setAccuracy
  - get_sdr::body::setAccuracyExp
  - get_sdr::body::setSensorDir
  - get_sdr::body::setBexp
  - get_sdr::body::setRexp
  - get_sdr::body::setIdStrLen
  - get_sdr::body::setIdStrLen
  - get_sdr::body::getIdStrLen
  - get_sdr::body::setIdType
  - get_sdr::body::setIdType
  - get_sdr::body::setDeviceIdStrLen
  - get_sdr::body::getDeviceIdStrLen
  - get_sdr::body::setReadableMask
  - ipmi::sensor::setOffset
  - ipmi::sensor::setReading
  - ipmi::sensor::setAssertionBytes
  - ipmi::sensor::enableScanning
  - ipmi::sensor::setOffset
  - ipmi::sensor::setReading
  - ipmi::sensor::setAssertionBytes
  - ipmi::sensor::enableScanning
  - ipmi::sensor::setOffset
  - ipmi::sensor::setReading
  - ipmi::sensor::setAssertionBytes
  - ipmi::sensor::enableScanning
  - ipmi::sensor::setOffset
  - ipmi::sensor::setReading
  - ipmi::sensor::setAssertionBytes
  - ipmi::sensor::enableScanning
  source_file: /src/phosphor-host-ipmid/sensorhandler.hpp
  types:
    enum:
    - enumerators:
      - name: IPMI_PHYSICAL_FRU
        value: '0x00'
      - name: IPMI_LOGICAL_FRU
        value: '0x80'
      item_type: enum
      name: device_type
      pos:
        line_end: 17
        line_start: 13
        source_file: /src/phosphor-host-ipmid/sensorhandler.hpp
    - enumerators:
      - name: IPMI_SENSOR_TEMP
        value: '0x01'
      - name: IPMI_SENSOR_FAN
        value: '0x04'
      - name: IPMI_SENSOR_CURRENT
        value: '0x03'
      - name: IPMI_SENSOR_TPM
        value: '0xCC'
      - name: IPMI_SENSOR_VOLTAGE
        value: '0x02'
      item_type: enum
      name: ipmi_sensor_types
      pos:
        line_end: 27
        line_start: 20
        source_file: /src/phosphor-host-ipmid/sensorhandler.hpp
    - enumerators:
      - name: SENSOR_DATA_FULL_RECORD
        value: '0x1'
      - name: SENSOR_DATA_EVENT_RECORD
        value: '0x3'
      - name: SENSOR_DATA_COMPACT_RECORD
        value: '0x2'
      - name: SENSOR_DATA_FRU_RECORD
        value: '0x11'
      - name: SENSOR_DATA_ENTITY_RECORD
        value: '0x8'
      - name: SENSOR_DATA_MGMT_CTRL_LOCATOR
        value: '0x12'
      item_type: enum
      name: SensorDataRecordType
      pos:
        line_end: 111
        line_start: 103
        source_file: /src/phosphor-host-ipmid/sensorhandler.hpp
    - enumerators:
      - name: SENSOR_UNIT_UNSPECIFIED
        value: '0'
      - name: SENSOR_UNIT_WATTS
        value: '6'
      - name: SENSOR_UNIT_DEGREES_C
        value: '1'
      - name: SENSOR_UNIT_VOLTS
        value: '4'
      - name: SENSOR_UNIT_AMPERES
        value: '5'
      - name: SENSOR_UNIT_JOULES
        value: '7'
      - name: SENSOR_UNIT_RPM
        value: '18'
      - name: SENSOR_UNIT_METERS
        value: '34'
      - name: SENSOR_UNIT_REVOLUTIONS
        value: '41'
      item_type: enum
      name: SensorUnitTypeCodes
      pos:
        line_end: 594
        line_start: 583
        source_file: /src/phosphor-host-ipmid/sensorhandler.hpp
    - enumerators:
      - name: SENSOR_DATA_FULL_RECORD
        value: '0x1'
      - name: SENSOR_DATA_EVENT_RECORD
        value: '0x3'
      - name: SENSOR_DATA_COMPACT_RECORD
        value: '0x2'
      - name: SENSOR_DATA_FRU_RECORD
        value: '0x11'
      - name: SENSOR_DATA_ENTITY_RECORD
        value: '0x8'
      - name: SENSOR_DATA_MGMT_CTRL_LOCATOR
        value: '0x12'
      item_type: enum
      name: SensorDataRecordType
      pos:
        line_end: 111
        line_start: 103
        source_file: /src/phosphor-host-ipmid/sensorhandler.hpp
    - enumerators:
      - name: SENSOR_UNIT_UNSPECIFIED
        value: '0'
      - name: SENSOR_UNIT_WATTS
        value: '6'
      - name: SENSOR_UNIT_DEGREES_C
        value: '1'
      - name: SENSOR_UNIT_VOLTS
        value: '4'
      - name: SENSOR_UNIT_AMPERES
        value: '5'
      - name: SENSOR_UNIT_JOULES
        value: '7'
      - name: SENSOR_UNIT_RPM
        value: '18'
      - name: SENSOR_UNIT_METERS
        value: '34'
      - name: SENSOR_UNIT_REVOLUTIONS
        value: '41'
      item_type: enum
      name: SensorUnitTypeCodes
      pos:
        line_end: 594
        line_start: 583
        source_file: /src/phosphor-host-ipmid/sensorhandler.hpp
    preproc_defs:
    - item_type: preproc_def
      name: MAX_DBUS_PATH
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/phosphor-host-ipmid/sensorhandler.hpp
      type_or_value: '128'
    - item_type: preproc_def
      name: FULL_RECORD_ID_STR_MAX_LENGTH
      pos:
        line_end: 218
        line_start: 217
        source_file: /src/phosphor-host-ipmid/sensorhandler.hpp
      type_or_value: '16'
    - item_type: preproc_def
      name: FULL_RECORD_ID_STR_MAX_LENGTH
      pos:
        line_end: 218
        line_start: 217
        source_file: /src/phosphor-host-ipmid/sensorhandler.hpp
      type_or_value: '16'
    structs:
    - fields: []
      item_type: struct
      name: SensorFunctionalError
      pos:
        line_end: 37
        line_start: 31
        source_file: /src/phosphor-host-ipmid/sensorhandler.hpp
    - fields:
      - name: sensornumber
        type: uint8_t
      - name: sensortype
        type: uint8_t
      - name: bus[MAX_DBUS_PATH]
        type: char
      - name: path[MAX_DBUS_PATH]
        type: char
      - name: interface[MAX_DBUS_PATH]
        type: char
      item_type: struct
      name: dbus_interface_t
      pos:
        line_end: 48
        line_start: 40
        source_file: /src/phosphor-host-ipmid/sensorhandler.hpp
    - fields:
      - name: eventMessageRevision
        type: uint8_t
      - name: sensorType
        type: uint8_t
      - name: sensorNumber
        type: uint8_t
      - name: eventDirectionType
        type: uint8_t
      - name: data[3]
        type: uint8_t
      item_type: struct
      name: PlatformEventRequest
      pos:
        line_end: 57
        line_start: 50
        source_file: /src/phosphor-host-ipmid/sensorhandler.hpp
    - fields:
      - name: recordId
        type: uint16_t
      - name: sdrVersion
        type: uint8_t
      - name: recordType
        type: uint8_t
      - name: recordLength
        type: uint8_t
      item_type: struct
      name: SensorDataRecordHeader
      pos:
        line_end: 101
        line_start: 95
        source_file: /src/phosphor-host-ipmid/sensorhandler.hpp
    - fields:
      - name: ownerId
        type: uint8_t
      - name: ownerLun
        type: uint8_t
      - name: sensorNumber
        type: uint8_t
      item_type: struct
      name: SensorDataRecordKey
      pos:
        line_end: 119
        line_start: 114
        source_file: /src/phosphor-host-ipmid/sensorhandler.hpp
    - fields:
      - name: deviceAddress
        type: uint8_t
      - name: fruID
        type: uint8_t
      - name: accessLun
        type: uint8_t
      - name: channelNumber
        type: uint8_t
      item_type: struct
      name: SensorDataFruRecordKey
      pos:
        line_end: 131
        line_start: 125
        source_file: /src/phosphor-host-ipmid/sensorhandler.hpp
    - fields:
      - name: containerEntityId
        type: uint8_t
      - name: containerEntityInstance
        type: uint8_t
      - name: flags
        type: uint8_t
      - name: entityId1
        type: uint8_t
      - name: entityInstance1
        type: uint8_t
      item_type: struct
      name: SensorDataEntityRecordKey
      pos:
        line_end: 144
        line_start: 137
        source_file: /src/phosphor-host-ipmid/sensorhandler.hpp
    - fields:
      - name: validMask
        type: uint8_t
      - name: lowerNonCritical
        type: uint8_t
      - name: lowerCritical
        type: uint8_t
      - name: lowerNonRecoverable
        type: uint8_t
      - name: upperNonCritical
        type: uint8_t
      - name: upperCritical
        type: uint8_t
      - name: upperNonRecoverable
        type: uint8_t
      item_type: struct
      name: GetSensorThresholdsResponse
      pos:
        line_end: 214
        line_start: 205
        source_file: /src/phosphor-host-ipmid/sensorhandler.hpp
    - fields:
      - name: entityId
        type: uint8_t
      - name: entityInstance
        type: uint8_t
      - name: sensorInitialization
        type: uint8_t
      - name: sensorCapabilities
        type: uint8_t
      - name: sensorType
        type: uint8_t
      - name: eventReadingType
        type: uint8_t
      - name: supportedAssertions[2]
        type: uint8_t
      - name: supportedDeassertions[2]
        type: uint8_t
      - name: discreteReadingSettingMask[2]
        type: uint8_t
      - name: sensorUnits1
        type: uint8_t
      - name: sensorUnits2Base
        type: uint8_t
      - name: sensorUnits3Modifier
        type: uint8_t
      - name: linearization
        type: uint8_t
      - name: mLsb
        type: uint8_t
      - name: mMsbAndTolerance
        type: uint8_t
      - name: bLsb
        type: uint8_t
      - name: bMsbAndAccuracyLsb
        type: uint8_t
      - name: accuracyAndSensorDirection
        type: uint8_t
      - name: rbExponents
        type: uint8_t
      - name: analogCharacteristicFlags
        type: uint8_t
      - name: nominalReading
        type: uint8_t
      - name: normalMax
        type: uint8_t
      - name: normalMin
        type: uint8_t
      - name: sensorMax
        type: uint8_t
      - name: sensorMin
        type: uint8_t
      - name: upperNonrecoverableThreshold
        type: uint8_t
      - name: upperCriticalThreshold
        type: uint8_t
      - name: upperNoncriticalThreshold
        type: uint8_t
      - name: lowerNonrecoverableThreshold
        type: uint8_t
      - name: lowerCriticalThreshold
        type: uint8_t
      - name: lowerNoncriticalThreshold
        type: uint8_t
      - name: positiveThresholdHysteresis
        type: uint8_t
      - name: negativeThresholdHysteresis
        type: uint8_t
      - name: reserved
        type: uint16_t
      - name: oemReserved
        type: uint8_t
      - name: idStringInfo
        type: uint8_t
      - name: idString[FULL_RECORD_ID_STR_MAX_LENGTH]
        type: char
      item_type: struct
      name: SensorDataFullRecordBody
      pos:
        line_end: 260
        line_start: 221
        source_file: /src/phosphor-host-ipmid/sensorhandler.hpp
    - fields:
      - name: entityId
        type: uint8_t
      - name: entityInstance
        type: uint8_t
      - name: sensorInitialization
        type: uint8_t
      - name: sensorCapabilities
        type: uint8_t
      - name: sensorType
        type: uint8_t
      - name: eventReadingType
        type: uint8_t
      - name: supportedAssertions[2]
        type: uint8_t
      - name: supportedDeassertions[2]
        type: uint8_t
      - name: discreteReadingSettingMask[2]
        type: uint8_t
      - name: sensorUnits1
        type: uint8_t
      - name: sensorUnits2Base
        type: uint8_t
      - name: sensorUnits3Modifier
        type: uint8_t
      - name: record_sharing[2]
        type: uint8_t
      - name: positiveThresholdHysteresis
        type: uint8_t
      - name: negativeThresholdHysteresis
        type: uint8_t
      - name: reserved[3]
        type: uint8_t
      - name: oemReserved
        type: uint8_t
      - name: idStringInfo
        type: uint8_t
      - name: idString[FULL_RECORD_ID_STR_MAX_LENGTH]
        type: char
      item_type: struct
      name: SensorDataCompactRecordBody
      pos:
        line_end: 287
        line_start: 266
        source_file: /src/phosphor-host-ipmid/sensorhandler.hpp
    - fields:
      - name: entityId
        type: uint8_t
      - name: entityInstance
        type: uint8_t
      - name: sensorType
        type: uint8_t
      - name: eventReadingType
        type: uint8_t
      - name: sensorRecordSharing1
        type: uint8_t
      - name: sensorRecordSharing2
        type: uint8_t
      - name: reserved
        type: uint8_t
      - name: oemReserved
        type: uint8_t
      - name: idStringInfo
        type: uint8_t
      - name: idString[FULL_RECORD_ID_STR_MAX_LENGTH]
        type: char
      item_type: struct
      name: SensorDataEventRecordBody
      pos:
        line_end: 305
        line_start: 293
        source_file: /src/phosphor-host-ipmid/sensorhandler.hpp
    - fields:
      - name: reserved
        type: uint8_t
      - name: deviceType
        type: uint8_t
      - name: deviceTypeModifier
        type: uint8_t
      - name: entityID
        type: uint8_t
      - name: entityInstance
        type: uint8_t
      - name: oem
        type: uint8_t
      - name: deviceIDLen
        type: uint8_t
      - name: deviceID[FRU_RECORD_DEVICE_ID_MAX_LENGTH]
        type: char
      item_type: struct
      name: SensorDataFruRecordBody
      pos:
        line_end: 321
        line_start: 311
        source_file: /src/phosphor-host-ipmid/sensorhandler.hpp
    - fields:
      - name: entityId2
        type: uint8_t
      - name: entityInstance2
        type: uint8_t
      - name: entityId3
        type: uint8_t
      - name: entityInstance3
        type: uint8_t
      - name: entityId4
        type: uint8_t
      - name: entityInstance4
        type: uint8_t
      item_type: struct
      name: SensorDataEntityRecordBody
      pos:
        line_end: 335
        line_start: 327
        source_file: /src/phosphor-host-ipmid/sensorhandler.hpp
    - fields:
      - name: header
        type: SensorDataRecordHeader
      - name: key
        type: SensorDataRecordKey
      - name: body
        type: SensorDataFullRecordBody
      item_type: struct
      name: SensorDataFullRecord
      pos:
        line_end: 601
        line_start: 596
        source_file: /src/phosphor-host-ipmid/sensorhandler.hpp
    - fields:
      - name: header
        type: SensorDataRecordHeader
      - name: key
        type: SensorDataRecordKey
      - name: body
        type: SensorDataCompactRecordBody
      item_type: struct
      name: SensorDataCompactRecord
      pos:
        line_end: 612
        line_start: 607
        source_file: /src/phosphor-host-ipmid/sensorhandler.hpp
    - fields:
      - name: header
        type: SensorDataRecordHeader
      - name: key
        type: SensorDataRecordKey
      - name: body
        type: SensorDataEventRecordBody
      item_type: struct
      name: SensorDataEventRecord
      pos:
        line_end: 623
        line_start: 618
        source_file: /src/phosphor-host-ipmid/sensorhandler.hpp
    - fields:
      - name: header
        type: SensorDataRecordHeader
      - name: key
        type: SensorDataFruRecordKey
      - name: body
        type: SensorDataFruRecordBody
      item_type: struct
      name: SensorDataFruRecord
      pos:
        line_end: 634
        line_start: 629
        source_file: /src/phosphor-host-ipmid/sensorhandler.hpp
    - fields:
      - name: header
        type: SensorDataRecordHeader
      - name: key
        type: SensorDataEntityRecordKey
      - name: body
        type: SensorDataEntityRecordBody
      item_type: struct
      name: SensorDataEntityRecord
      pos:
        line_end: 645
        line_start: 640
        source_file: /src/phosphor-host-ipmid/sensorhandler.hpp
    - fields:
      - name: recordId
        type: uint16_t
      - name: sdrVersion
        type: uint8_t
      - name: recordType
        type: uint8_t
      - name: recordLength
        type: uint8_t
      item_type: struct
      name: SensorDataRecordHeader
      pos:
        line_end: 101
        line_start: 95
        source_file: /src/phosphor-host-ipmid/sensorhandler.hpp
    - fields:
      - name: ownerId
        type: uint8_t
      - name: ownerLun
        type: uint8_t
      - name: sensorNumber
        type: uint8_t
      item_type: struct
      name: SensorDataRecordKey
      pos:
        line_end: 119
        line_start: 114
        source_file: /src/phosphor-host-ipmid/sensorhandler.hpp
    - fields:
      - name: deviceAddress
        type: uint8_t
      - name: fruID
        type: uint8_t
      - name: accessLun
        type: uint8_t
      - name: channelNumber
        type: uint8_t
      item_type: struct
      name: SensorDataFruRecordKey
      pos:
        line_end: 131
        line_start: 125
        source_file: /src/phosphor-host-ipmid/sensorhandler.hpp
    - fields:
      - name: containerEntityId
        type: uint8_t
      - name: containerEntityInstance
        type: uint8_t
      - name: flags
        type: uint8_t
      - name: entityId1
        type: uint8_t
      - name: entityInstance1
        type: uint8_t
      item_type: struct
      name: SensorDataEntityRecordKey
      pos:
        line_end: 144
        line_start: 137
        source_file: /src/phosphor-host-ipmid/sensorhandler.hpp
    - fields:
      - name: validMask
        type: uint8_t
      - name: lowerNonCritical
        type: uint8_t
      - name: lowerCritical
        type: uint8_t
      - name: lowerNonRecoverable
        type: uint8_t
      - name: upperNonCritical
        type: uint8_t
      - name: upperCritical
        type: uint8_t
      - name: upperNonRecoverable
        type: uint8_t
      item_type: struct
      name: GetSensorThresholdsResponse
      pos:
        line_end: 214
        line_start: 205
        source_file: /src/phosphor-host-ipmid/sensorhandler.hpp
    - fields:
      - name: entityId
        type: uint8_t
      - name: entityInstance
        type: uint8_t
      - name: sensorInitialization
        type: uint8_t
      - name: sensorCapabilities
        type: uint8_t
      - name: sensorType
        type: uint8_t
      - name: eventReadingType
        type: uint8_t
      - name: supportedAssertions[2]
        type: uint8_t
      - name: supportedDeassertions[2]
        type: uint8_t
      - name: discreteReadingSettingMask[2]
        type: uint8_t
      - name: sensorUnits1
        type: uint8_t
      - name: sensorUnits2Base
        type: uint8_t
      - name: sensorUnits3Modifier
        type: uint8_t
      - name: linearization
        type: uint8_t
      - name: mLsb
        type: uint8_t
      - name: mMsbAndTolerance
        type: uint8_t
      - name: bLsb
        type: uint8_t
      - name: bMsbAndAccuracyLsb
        type: uint8_t
      - name: accuracyAndSensorDirection
        type: uint8_t
      - name: rbExponents
        type: uint8_t
      - name: analogCharacteristicFlags
        type: uint8_t
      - name: nominalReading
        type: uint8_t
      - name: normalMax
        type: uint8_t
      - name: normalMin
        type: uint8_t
      - name: sensorMax
        type: uint8_t
      - name: sensorMin
        type: uint8_t
      - name: upperNonrecoverableThreshold
        type: uint8_t
      - name: upperCriticalThreshold
        type: uint8_t
      - name: upperNoncriticalThreshold
        type: uint8_t
      - name: lowerNonrecoverableThreshold
        type: uint8_t
      - name: lowerCriticalThreshold
        type: uint8_t
      - name: lowerNoncriticalThreshold
        type: uint8_t
      - name: positiveThresholdHysteresis
        type: uint8_t
      - name: negativeThresholdHysteresis
        type: uint8_t
      - name: reserved
        type: uint16_t
      - name: oemReserved
        type: uint8_t
      - name: idStringInfo
        type: uint8_t
      - name: idString[FULL_RECORD_ID_STR_MAX_LENGTH]
        type: char
      item_type: struct
      name: SensorDataFullRecordBody
      pos:
        line_end: 260
        line_start: 221
        source_file: /src/phosphor-host-ipmid/sensorhandler.hpp
    - fields:
      - name: entityId
        type: uint8_t
      - name: entityInstance
        type: uint8_t
      - name: sensorInitialization
        type: uint8_t
      - name: sensorCapabilities
        type: uint8_t
      - name: sensorType
        type: uint8_t
      - name: eventReadingType
        type: uint8_t
      - name: supportedAssertions[2]
        type: uint8_t
      - name: supportedDeassertions[2]
        type: uint8_t
      - name: discreteReadingSettingMask[2]
        type: uint8_t
      - name: sensorUnits1
        type: uint8_t
      - name: sensorUnits2Base
        type: uint8_t
      - name: sensorUnits3Modifier
        type: uint8_t
      - name: record_sharing[2]
        type: uint8_t
      - name: positiveThresholdHysteresis
        type: uint8_t
      - name: negativeThresholdHysteresis
        type: uint8_t
      - name: reserved[3]
        type: uint8_t
      - name: oemReserved
        type: uint8_t
      - name: idStringInfo
        type: uint8_t
      - name: idString[FULL_RECORD_ID_STR_MAX_LENGTH]
        type: char
      item_type: struct
      name: SensorDataCompactRecordBody
      pos:
        line_end: 287
        line_start: 266
        source_file: /src/phosphor-host-ipmid/sensorhandler.hpp
    - fields:
      - name: entityId
        type: uint8_t
      - name: entityInstance
        type: uint8_t
      - name: sensorType
        type: uint8_t
      - name: eventReadingType
        type: uint8_t
      - name: sensorRecordSharing1
        type: uint8_t
      - name: sensorRecordSharing2
        type: uint8_t
      - name: reserved
        type: uint8_t
      - name: oemReserved
        type: uint8_t
      - name: idStringInfo
        type: uint8_t
      - name: idString[FULL_RECORD_ID_STR_MAX_LENGTH]
        type: char
      item_type: struct
      name: SensorDataEventRecordBody
      pos:
        line_end: 305
        line_start: 293
        source_file: /src/phosphor-host-ipmid/sensorhandler.hpp
    - fields:
      - name: reserved
        type: uint8_t
      - name: deviceType
        type: uint8_t
      - name: deviceTypeModifier
        type: uint8_t
      - name: entityID
        type: uint8_t
      - name: entityInstance
        type: uint8_t
      - name: oem
        type: uint8_t
      - name: deviceIDLen
        type: uint8_t
      - name: deviceID[FRU_RECORD_DEVICE_ID_MAX_LENGTH]
        type: char
      item_type: struct
      name: SensorDataFruRecordBody
      pos:
        line_end: 321
        line_start: 311
        source_file: /src/phosphor-host-ipmid/sensorhandler.hpp
    - fields:
      - name: entityId2
        type: uint8_t
      - name: entityInstance2
        type: uint8_t
      - name: entityId3
        type: uint8_t
      - name: entityInstance3
        type: uint8_t
      - name: entityId4
        type: uint8_t
      - name: entityInstance4
        type: uint8_t
      item_type: struct
      name: SensorDataEntityRecordBody
      pos:
        line_end: 335
        line_start: 327
        source_file: /src/phosphor-host-ipmid/sensorhandler.hpp
    - fields:
      - name: header
        type: SensorDataRecordHeader
      - name: key
        type: SensorDataRecordKey
      - name: body
        type: SensorDataFullRecordBody
      item_type: struct
      name: SensorDataFullRecord
      pos:
        line_end: 601
        line_start: 596
        source_file: /src/phosphor-host-ipmid/sensorhandler.hpp
    - fields:
      - name: header
        type: SensorDataRecordHeader
      - name: key
        type: SensorDataRecordKey
      - name: body
        type: SensorDataCompactRecordBody
      item_type: struct
      name: SensorDataCompactRecord
      pos:
        line_end: 612
        line_start: 607
        source_file: /src/phosphor-host-ipmid/sensorhandler.hpp
    - fields:
      - name: header
        type: SensorDataRecordHeader
      - name: key
        type: SensorDataRecordKey
      - name: body
        type: SensorDataEventRecordBody
      item_type: struct
      name: SensorDataEventRecord
      pos:
        line_end: 623
        line_start: 618
        source_file: /src/phosphor-host-ipmid/sensorhandler.hpp
    - fields:
      - name: header
        type: SensorDataRecordHeader
      - name: key
        type: SensorDataFruRecordKey
      - name: body
        type: SensorDataFruRecordBody
      item_type: struct
      name: SensorDataFruRecord
      pos:
        line_end: 634
        line_start: 629
        source_file: /src/phosphor-host-ipmid/sensorhandler.hpp
    - fields:
      - name: header
        type: SensorDataRecordHeader
      - name: key
        type: SensorDataEntityRecordKey
      - name: body
        type: SensorDataEntityRecordBody
      item_type: struct
      name: SensorDataEntityRecord
      pos:
        line_end: 645
        line_start: 640
        source_file: /src/phosphor-host-ipmid/sensorhandler.hpp
    typedefs: []
    union: []
- function_names:
  - phosphor::host::command::Manager::Manager
  - ~Manager()
  - phosphor::host::command::Manager::Manager
  - '& operator=(const Manager&)'
  - phosphor::host::command::Manager::Manager
  - '& operator=(Manager&&)'
  - phosphor::host::command::Manager::Manager
  - ~Manager()
  - phosphor::host::command::Manager::Manager
  - '& operator=(const Manager&)'
  - phosphor::host::command::Manager::Manager
  - '& operator=(Manager&&)'
  - phosphor::host::command::Manager::Manager
  - ~Manager()
  - phosphor::host::command::Manager::Manager
  - '& operator=(const Manager&)'
  - phosphor::host::command::Manager::Manager
  - '& operator=(Manager&&)'
  - phosphor::host::command::Manager::Manager
  - ~Manager()
  - phosphor::host::command::Manager::Manager
  - '& operator=(const Manager&)'
  - phosphor::host::command::Manager::Manager
  - '& operator=(Manager&&)'
  - phosphor::host::command::Manager::Manager
  - ~Manager()
  - phosphor::host::command::Manager::Manager
  - '& operator=(const Manager&)'
  - phosphor::host::command::Manager::Manager
  - '& operator=(Manager&&)'
  - phosphor::host::command::Manager::Manager
  - ~Manager()
  - phosphor::host::command::Manager::Manager
  - '& operator=(const Manager&)'
  - phosphor::host::command::Manager::Manager
  - '& operator=(Manager&&)'
  - phosphor::host::command::Manager::Manager
  - ~Manager()
  - phosphor::host::command::Manager::Manager
  - '& operator=(const Manager&)'
  - phosphor::host::command::Manager::Manager
  - '& operator=(Manager&&)'
  - phosphor::host::command::Manager::Manager
  - ~Manager()
  - phosphor::host::command::Manager::Manager
  - '& operator=(const Manager&)'
  - phosphor::host::command::Manager::Manager
  - '& operator=(Manager&&)'
  source_file: /src/phosphor-host-ipmid/host-cmd-manager.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/phosphor-host-ipmid/apphandler.hpp
  types:
    enum:
    - enumerators:
      - name: IPMI_SYSINFO_SET_STATE
        value: '0x00'
      - name: IPMI_SYSINFO_OS_NAME
        value: '0x04'
      - name: IPMI_SYSINFO_PRIMARY_OS_NAME
        value: '0x03'
      - name: IPMI_SYSINFO_SYSTEM_FW_VERSION
        value: '0x01'
      - name: IPMI_SYSINFO_SYSTEM_NAME
        value: '0x02'
      - name: IPMI_SYSINFO_OS_VERSION
        value: '0x05'
      - name: IPMI_SYSINFO_BMC_URL
        value: '0x06'
      - name: IPMI_SYSINFO_OS_HYP_URL
        value: '0x07'
      - name: IPMI_SYSINFO_OEM_START
        value: '0xC0'
      item_type: enum
      name: ipmi_app_sysinfo_params
      pos:
        line_end: 15
        line_start: 4
        source_file: /src/phosphor-host-ipmid/apphandler.hpp
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - readESEL
  - createProcedureLogEntry
  source_file: /src/phosphor-host-ipmid/storageaddsel.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ipmiGroupExt
  - registerNetFnGroupExtFunctions
  source_file: /src/phosphor-host-ipmid/groupext.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ~AllowlistFilter()
  - ipmi::AllowlistFilter::AllowlistFilter
  - ipmi::AllowlistFilter::AllowlistFilter
  - '& operator=(const AllowlistFilter&)'
  - '& operator=(AllowlistFilter&&)'
  - ipmi::AllowlistFilter::AllowlistFilter
  - ipmi::AllowlistFilter::cacheRestrictedMode
  - ipmi::AllowlistFilter::handleRestrictedModeChange
  - ipmi::AllowlistFilter::postInit
  - ipmi::AllowlistFilter::filterMessage
  - ~AllowlistFilter()
  - ipmi::AllowlistFilter::AllowlistFilter
  - ipmi::AllowlistFilter::AllowlistFilter
  - '& operator=(const AllowlistFilter&)'
  - '& operator=(AllowlistFilter&&)'
  - ipmi::AllowlistFilter::AllowlistFilter
  - ipmi::AllowlistFilter::cacheRestrictedMode
  - ipmi::AllowlistFilter::handleRestrictedModeChange
  - ipmi::AllowlistFilter::postInit
  - ipmi::AllowlistFilter::filterMessage
  - ~AllowlistFilter()
  - ipmi::AllowlistFilter::AllowlistFilter
  - ipmi::AllowlistFilter::AllowlistFilter
  - '& operator=(const AllowlistFilter&)'
  - '& operator=(AllowlistFilter&&)'
  - ipmi::AllowlistFilter::AllowlistFilter
  - ipmi::AllowlistFilter::cacheRestrictedMode
  - ipmi::AllowlistFilter::handleRestrictedModeChange
  - ipmi::AllowlistFilter::postInit
  - ipmi::AllowlistFilter::filterMessage
  - ~AllowlistFilter()
  - ipmi::AllowlistFilter::AllowlistFilter
  - ipmi::AllowlistFilter::AllowlistFilter
  - '& operator=(const AllowlistFilter&)'
  - '& operator=(AllowlistFilter&&)'
  - ipmi::AllowlistFilter::AllowlistFilter
  - ipmi::AllowlistFilter::cacheRestrictedMode
  - ipmi::AllowlistFilter::handleRestrictedModeChange
  - ipmi::AllowlistFilter::postInit
  - ipmi::AllowlistFilter::filterMessage
  source_file: /src/phosphor-host-ipmid/whitelist-filter.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ipmiAppReadEventBuffer
  - ipmiAppGetMessageFlags
  - ipmiAppGetBMCGlobalEnable
  - ipmiAppSetBMCGlobalEnable
  - registerNetFnAppFunctions
  source_file: /src/phosphor-host-ipmid/systemintfcmds.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ipmi::ipmiSetBiosPassword
  - ipmi::ipmiGetBiosPassword
  - ipmi::ipmiSetBiosPassword
  - ipmi::ipmiGetBiosPassword
  - registerBiosConfigCommands
  source_file: /src/phosphor-host-ipmid/oem/nvidia/biosconfigcommands.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/phosphor-host-ipmid/oem/nvidia/oemcommands.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ipmi::ipmiGetUsbVendorIdProductId
  - ipmi::ipmiGetUsbSerialNumber
  - ipmi::ipmiGetRedfishHostName
  - ipmi::ipmiGetIpmiChannelRfHi
  - ipmi::getRfUuid
  - ipmi::ipmiGetRedfishServiceUUID
  - ipmi::ipmiGetRedfishServicePort
  - ipmi::ipmiGetUsbVendorIdProductId
  - ipmi::ipmiGetUsbSerialNumber
  - ipmi::ipmiGetRedfishHostName
  - ipmi::ipmiGetIpmiChannelRfHi
  - ipmi::getRfUuid
  - ipmi::ipmiGetRedfishServiceUUID
  - ipmi::ipmiGetRedfishServicePort
  - registerBootstrapCredentialsOemCommands
  source_file: /src/phosphor-host-ipmid/oem/nvidia/bootstrap-credentials-oem-cmds.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - getActiveSoftwareVersionInfo
  - getCurrentBmcStateWithFallback
  - convertVersion
  - ipmiAppGetDeviceId
  - registerNetFnAppFunctions
  source_file: /src/phosphor-host-ipmid/oem/example/apphandler.cpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: major
        type: char
      - name: minor
        type: char
      - name: aux[4]
        type: uint8_t
      item_type: struct
      name: Revision
      pos:
        line_end: 155
        line_start: 150
        source_file: /src/phosphor-host-ipmid/oem/example/apphandler.cpp
    - fields:
      - name: id
        type: uint8_t
      - name: revision
        type: uint8_t
      - name: fw[2]
        type: uint8_t
      - name: ipmiVer
        type: uint8_t
      - name: addnDevSupport
        type: uint8_t
      - name: manufId
        type: uint24_t
      - name: prodId
        type: uint16_t
      - name: aux
        type: uint32_t
      item_type: struct
      name: devId
      pos:
        line_end: 316
        line_start: 306
        source_file: /src/phosphor-host-ipmid/oem/example/apphandler.cpp
    typedefs: []
    union: []
- function_names:
  - ipmi::responsePayloadTypeNotSupported
  - ipmi::responsePayloadTypeNotSupported
  - cipher::getCipherRecords
  - cipher::getCipherRecords
  - getChannelCipherSuites
  source_file: /src/phosphor-host-ipmid/app/channel.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - WatchdogService::WatchdogService
  - WatchdogService::resetTimeRemaining
  - WatchdogService::getProperties
  - WatchdogService::getProperty
  - WatchdogService::setProperty
  - WatchdogService::getInitialized
  - WatchdogService::setInitialized
  - WatchdogService::setEnabled
  - WatchdogService::setLogTimeout
  - WatchdogService::setExpireAction
  - WatchdogService::setTimerUse
  - WatchdogService::setExpiredTimerUse
  - WatchdogService::setInterval
  source_file: /src/phosphor-host-ipmid/app/watchdog_service.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ipmi::responseWatchdogNotInit
  - ipmi::responseWatchdogNotInit
  - reportError
  - ipmiAppResetWatchdogTimer
  - ipmiActionToWdAction
  - ipmiTimerUseToWdTimerUse
  - ipmiSetWatchdogTimer
  - wdActionToIpmiAction
  - wdTimerUseToIpmiTimerUse
  - ipmiGetWatchdogTimer
  source_file: /src/phosphor-host-ipmid/app/watchdog.cpp
  types:
    enum:
    - enumerators:
      - name: None
        value: '0x0'
      - name: PowerCycle
        value: '0x3'
      - name: HardReset
        value: '0x1'
      - name: PowerOff
        value: '0x2'
      item_type: enum
      name: IpmiAction
      pos:
        line_end: 104
        line_start: 98
        source_file: /src/phosphor-host-ipmid/app/watchdog.cpp
    - enumerators:
      - name: Reserved
        value: '0x0'
      - name: BIOSPOST
        value: '0x2'
      - name: OSLoad
        value: '0x3'
      - name: BIOSFRB2
        value: '0x1'
      - name: SMSOS
        value: '0x4'
      - name: OEM
        value: '0x5'
      item_type: enum
      name: IpmiTimerUse
      pos:
        line_end: 145
        line_start: 137
        source_file: /src/phosphor-host-ipmid/app/watchdog.cpp
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/phosphor-host-ipmid/app/channel.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/phosphor-host-ipmid/app/watchdog_service.hpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: initialized
        type: bool
      - name: enabled
        type: bool
      - name: expireAction
        type: Action
      - name: timerUse
        type: TimerUse
      - name: expiredTimerUse
        type: TimerUse
      - name: interval
        type: uint64_t
      - name: timeRemaining
        type: uint64_t
      item_type: struct
      name: Properties
      pos:
        line_end: 40
        line_start: 31
        source_file: /src/phosphor-host-ipmid/app/watchdog_service.hpp
    typedefs: []
    union: []
- function_names: []
  source_file: /src/phosphor-host-ipmid/app/watchdog.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ipmi_register_callback
  - oem::MakeRouter
  - oem::ActivateRouter
  - oem::RegisterWithRouter
  - oem::RegisterTwoWays
  - oem::MakeRouter
  - oem::ActivateRouter
  - oem::RegisterWithRouter
  - oem::RegisterTwoWays
  - oem::TEST
  - oem::TEST
  - oem::TEST
  - oem::TEST
  - oem::TEST
  - oem::MakeRouter
  - oem::ActivateRouter
  - oem::RegisterWithRouter
  - oem::RegisterTwoWays
  - oem::MakeRouter
  - oem::ActivateRouter
  - oem::RegisterWithRouter
  - oem::RegisterTwoWays
  - oem::TEST
  - oem::TEST
  - oem::TEST
  - oem::TEST
  - oem::TEST
  source_file: /src/phosphor-host-ipmid/test/oemrouter_unittest.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ipmi::sensor::TEST
  - ipmi::sensor::TEST
  - ipmi::sensor::TEST
  - ipmi::sensor::TEST
  - ipmi::sensor::TEST
  - ipmi::sensor::TEST
  - ipmi::sensor::TEST
  - ipmi::sensor::TEST
  - ipmi::sensor::TEST
  - ipmi::sensor::TEST
  - ipmi::sensor::TEST
  - ipmi::sensor::TEST
  - ipmi::sensor::TEST
  - ipmi::sensor::TEST
  - ipmi::sensor::TEST
  - ipmi::sensor::TEST
  - ipmi::sensor::TEST
  - ipmi::sensor::TEST
  - ipmi::sensor::TEST
  - ipmi::sensor::TEST
  - ipmi::sensor::TEST
  - ipmi::sensor::TEST
  - ipmi::sensor::TEST
  - ipmi::sensor::TEST
  - ipmi::sensor::TEST
  - ipmi::sensor::TEST
  - ipmi::sensor::TEST
  - ipmi::sensor::TEST
  - ipmi::sensor::TEST
  - ipmi::sensor::TEST
  - ipmi::sensor::TEST
  - ipmi::sensor::TEST
  - ipmi::sensor::TEST
  - ipmi::sensor::TEST
  - ipmi::sensor::TEST
  - ipmi::sensor::TEST
  - ipmi::sensor::TEST
  - ipmi::sensor::TEST
  - ipmi::sensor::TEST
  - ipmi::sensor::TEST
  - ipmi::sensor::TEST
  - ipmi::sensor::TEST
  - ipmi::sensor::TEST
  - ipmi::sensor::TEST
  - ipmi::sensor::TEST
  - ipmi::sensor::TEST
  - ipmi::sensor::TEST
  - ipmi::sensor::TEST
  source_file: /src/phosphor-host-ipmid/test/entitymap_json_unittest.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
  source_file: /src/phosphor-host-ipmid/test/message/pack.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
  source_file: /src/phosphor-host-ipmid/test/message/unpack.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
  - sd_journal_sendv
  - PayloadLogging::SetUp
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  source_file: /src/phosphor-host-ipmid/test/message/payload.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ipmitool_y_from_x
  - testValue
  - testBounds
  - testRanges
  - TEST
  - TEST
  source_file: /src/phosphor-host-ipmid/test/dbus-sdr/sensorcommands_unittest.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  source_file: /src/phosphor-host-ipmid/test/session/closesession_unittest.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - serialbridge::execute
  - serialbridge::execute
  - main
  source_file: /src/phosphor-host-ipmid/transport/serialbridge/serialbridged.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - serialbridge::SerialChannel::SerialChannel
  - serialbridge::SerialChannel::SerialChannel
  source_file: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.hpp
  types:
    enum:
    - enumerators:
      - name: msgIdle
        value: '0'
      - name: msgInEscape
      - name: msgInProgress
      item_type: enum
      name: MsgState
      pos:
        line_end: 57
        line_start: 52
        source_file: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.hpp
    - enumerators:
      - name: msgIdle
        value: '0'
      - name: msgInEscape
      - name: msgInProgress
      item_type: enum
      name: MsgState
      pos:
        line_end: 57
        line_start: 52
        source_file: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.hpp
    preproc_defs: []
    structs:
    - fields:
      - name: rsAddr
        type: uint8_t
      - name: rsNetFnLUN
        type: uint8_t
      - name: checksum1
        type: uint8_t
      - name: rqAddr
        type: uint8_t
      - name: rqSeqLUN
        type: uint8_t
      - name: cmd
        type: uint8_t
      item_type: struct
      name: IpmiSerialHeader
      pos:
        line_end: 29
        line_start: 21
        source_file: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.hpp
    - fields:
      - name: rsAddr
        type: uint8_t
      - name: rsNetFnLUN
        type: uint8_t
      - name: checksum1
        type: uint8_t
      - name: rqAddr
        type: uint8_t
      - name: rqSeqLUN
        type: uint8_t
      - name: cmd
        type: uint8_t
      item_type: struct
      name: IpmiSerialHeader
      pos:
        line_end: 29
        line_start: 21
        source_file: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.hpp
    typedefs: []
    union: []
- function_names:
  - serialbridge::SerialChannel::calculateChecksum
  - serialbridge::SerialChannel::getUnescapedCharacter
  - serialbridge::SerialChannel::consumeIpmiSerialPacket
  - serialbridge::SerialChannel::processEscapedCharacter
  - serialbridge::SerialChannel::write
  - serialbridge::SerialChannel::read
  - serialbridge::SerialChannel::calculateChecksum
  - serialbridge::SerialChannel::getUnescapedCharacter
  - serialbridge::SerialChannel::consumeIpmiSerialPacket
  - serialbridge::SerialChannel::processEscapedCharacter
  - serialbridge::SerialChannel::write
  - serialbridge::SerialChannel::read
  source_file: /src/phosphor-host-ipmid/transport/serialbridge/serialcmd.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - serialbridge::TEST
  - serialbridge::TEST
  - serialbridge::TEST
  - serialbridge::TEST
  - serialbridge::TEST
  - serialbridge::TEST
  - serialbridge::TEST
  - serialbridge::TEST
  source_file: /src/phosphor-host-ipmid/transport/serialbridge/test/serial_unittest.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - details::filterSensors
  - details::getSensorSubtree
  - details::getSensorNumMap
  - details::filterSensors
  - details::getSensorSubtree
  - details::getSensorNumMap
  - getSensorSubtree
  - findStaticSensor
  - getSensorTypeStringFromPath
  - getSensorTypeFromPath
  - getSensorNumberFromPath
  - getSensorEventTypeFromPath
  - getPathFromSensorNumber
  - ipmi::getObjectInterfaces
  - ipmi::getEntityManagerProperties
  - ipmi::getIpmiDecoratorPaths
  - ipmi::getSensorConfigurationInterface
  - ipmi::updateIpmiFromAssociation
  - ipmi::getObjectInterfaces
  - ipmi::getEntityManagerProperties
  - ipmi::getIpmiDecoratorPaths
  - ipmi::getSensorConfigurationInterface
  - ipmi::updateIpmiFromAssociation
  source_file: /src/phosphor-host-ipmid/dbus-sdr/sdrutils.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dynamic_sensors::ipmi::sel::getFileTimestamp
  - dynamic_sensors::ipmi::sel::erase_time::get
  - dynamic_sensors::ipmi::sel::erase_time::get
  - dynamic_sensors::ipmi::sel::getFileTimestamp
  - dynamic_sensors::ipmi::sel::erase_time::get
  - dynamic_sensors::ipmi::sel::erase_time::get
  - ipmi::storage::writeFru
  - ipmi::storage::writeFruCache
  - ipmi::storage::createTimers
  - ipmi::storage::recalculateHashes
  - ipmi::storage::replaceCacheFru
  - ipmi::storage::getFru
  - ipmi::storage::writeFruIfRunning
  - ipmi::storage::startMatch
  - ipmi::storage::ipmiStorageReadFruData
  - ipmi::storage::ipmiStorageWriteFruData
  - ipmi::storage::ipmiStorageGetFruInvAreaInfo
  - ipmi::storage::getFruSdrCount
  - ipmi::storage::getFruSdrs
  - ipmi::storage::getSELLogFiles
  - ipmi::storage::countSELEntries
  - ipmi::storage::findSELEntry
  - ipmi::storage::getNextRecordID
  - ipmi::storage::fromHexStr
  - ipmi::storage::ipmiStorageGetSELInfo
  - ipmi::storage::ipmiStorageGetSELEntry
  - ipmi::storage::ipmiStorageAddSELEntry
  - ipmi::storage::ipmiStorageClearSEL
  - ipmi::storage::getType8SDRs
  - ipmi::storage::getType12SDRs
  - ipmi::storage::registerStorageFunctions
  - ipmi::storage::writeFru
  - ipmi::storage::writeFruCache
  - ipmi::storage::createTimers
  - ipmi::storage::recalculateHashes
  - ipmi::storage::replaceCacheFru
  - ipmi::storage::getFru
  - ipmi::storage::writeFruIfRunning
  - ipmi::storage::startMatch
  - ipmi::storage::ipmiStorageReadFruData
  - ipmi::storage::ipmiStorageWriteFruData
  - ipmi::storage::ipmiStorageGetFruInvAreaInfo
  - ipmi::storage::getFruSdrCount
  - ipmi::storage::getFruSdrs
  - ipmi::storage::getSELLogFiles
  - ipmi::storage::countSELEntries
  - ipmi::storage::findSELEntry
  - ipmi::storage::getNextRecordID
  - ipmi::storage::fromHexStr
  - ipmi::storage::ipmiStorageGetSELInfo
  - ipmi::storage::ipmiStorageGetSELEntry
  - ipmi::storage::ipmiStorageAddSELEntry
  - ipmi::storage::ipmiStorageClearSEL
  - ipmi::storage::getType8SDRs
  - ipmi::storage::getType12SDRs
  - ipmi::storage::registerStorageFunctions
  - ipmi::storage::writeFru
  - ipmi::storage::writeFruCache
  - ipmi::storage::createTimers
  - ipmi::storage::recalculateHashes
  - ipmi::storage::replaceCacheFru
  - ipmi::storage::getFru
  - ipmi::storage::writeFruIfRunning
  - ipmi::storage::startMatch
  - ipmi::storage::ipmiStorageReadFruData
  - ipmi::storage::ipmiStorageWriteFruData
  - ipmi::storage::ipmiStorageGetFruInvAreaInfo
  - ipmi::storage::getFruSdrCount
  - ipmi::storage::getFruSdrs
  - ipmi::storage::getSELLogFiles
  - ipmi::storage::countSELEntries
  - ipmi::storage::findSELEntry
  - ipmi::storage::getNextRecordID
  - ipmi::storage::fromHexStr
  - ipmi::storage::ipmiStorageGetSELInfo
  - ipmi::storage::ipmiStorageGetSELEntry
  - ipmi::storage::ipmiStorageAddSELEntry
  - ipmi::storage::ipmiStorageClearSEL
  - ipmi::storage::getType8SDRs
  - ipmi::storage::getType12SDRs
  - ipmi::storage::registerStorageFunctions
  - ipmi::storage::writeFru
  - ipmi::storage::writeFruCache
  - ipmi::storage::createTimers
  - ipmi::storage::recalculateHashes
  - ipmi::storage::replaceCacheFru
  - ipmi::storage::getFru
  - ipmi::storage::writeFruIfRunning
  - ipmi::storage::startMatch
  - ipmi::storage::ipmiStorageReadFruData
  - ipmi::storage::ipmiStorageWriteFruData
  - ipmi::storage::ipmiStorageGetFruInvAreaInfo
  - ipmi::storage::getFruSdrCount
  - ipmi::storage::getFruSdrs
  - ipmi::storage::getSELLogFiles
  - ipmi::storage::countSELEntries
  - ipmi::storage::findSELEntry
  - ipmi::storage::getNextRecordID
  - ipmi::storage::fromHexStr
  - ipmi::storage::ipmiStorageGetSELInfo
  - ipmi::storage::ipmiStorageGetSELEntry
  - ipmi::storage::ipmiStorageAddSELEntry
  - ipmi::storage::ipmiStorageClearSEL
  - ipmi::storage::getType8SDRs
  - ipmi::storage::getType12SDRs
  - ipmi::storage::registerStorageFunctions
  source_file: /src/phosphor-host-ipmid/dbus-sdr/storagecommands.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ipmi::baseInRange
  - ipmi::scaleFloatExp
  - ipmi::normalizeIntExp
  - ipmi::getSensorAttributes
  - ipmi::scaleIPMIValueFromDouble
  - ipmi::getScaledIPMIValue
  - ipmi::baseInRange
  - ipmi::scaleFloatExp
  - ipmi::normalizeIntExp
  - ipmi::getSensorAttributes
  - ipmi::scaleIPMIValueFromDouble
  - ipmi::getScaledIPMIValue
  source_file: /src/phosphor-host-ipmid/dbus-sdr/sensorutils.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - operator()(const char* a, const char* b) const
  - ipmi::getSensorConnection
  - ipmi::getSensorTree
  - ipmi::getSensorMaxMin
  - ipmi::getSensorMap
  - ipmi::sensor::getSupportedVrProfiles
  - ipmi::sensor::calculateVRMode
  - ipmi::sensor::calculateValue
  - ipmi::sensor::parseSdrIdFromPath
  - ipmi::sensor::getVrEventStatus
  - ipmi::sensor::getOtherSensorsCount
  - ipmi::sensor::getOtherSensorsDataRecord
  - ipmi::sensor::getSupportedVrProfiles
  - ipmi::sensor::calculateVRMode
  - ipmi::sensor::calculateValue
  - ipmi::sensor::parseSdrIdFromPath
  - ipmi::sensor::getVrEventStatus
  - ipmi::sensor::getOtherSensorsCount
  - ipmi::sensor::getOtherSensorsDataRecord
  - ipmi::ipmiSenPlatformEvent
  - ipmi::ipmiSetSensorReading
  - ipmi::ipmiSenGetSensorReading
  - ipmi::ipmiSenSetSensorThresholds
  - ipmi::getIPMIThresholds
  - ipmi::ipmiSenGetSensorThresholds
  - ipmi::ipmiSenGetSensorEventEnable
  - ipmi::ipmiSenGetSensorEventStatus
  - ipmi::constructSensorSdrHeaderKey
  - ipmi::constructSensorSdr
  - ipmi::constructStaticSensorSdr
  - ipmi::constructEventSdrHeaderKey
  - ipmi::constructVrSdr
  - ipmi::getNumberOfSensors
  - ipmi::getSensorDataRecord
  - ipmi::ipmiSensorGetDeviceSdrInfo
  - ipmi::ipmiStorageGetSDRRepositoryInfo
  - ipmi::ipmiStorageGetSDRAllocationInfo
  - ipmi::ipmiStorageReserveSDR
  - ipmi::ipmiStorageGetSDR
  - ipmi::dcmi::getSensorsByEntityId
  - ipmi::dcmi::readTemp
  - ipmi::dcmi::getSensorInfo
  - ipmi::dcmi::getTempReadings
  - ipmi::dcmi::getSensorsByEntityId
  - ipmi::dcmi::readTemp
  - ipmi::dcmi::getSensorInfo
  - ipmi::dcmi::getTempReadings
  - ipmi::registerSensorFunctions
  - operator()(const char* a, const char* b) const
  - ipmi::getSensorConnection
  - ipmi::getSensorTree
  - ipmi::getSensorMaxMin
  - ipmi::getSensorMap
  - ipmi::sensor::getSupportedVrProfiles
  - ipmi::sensor::calculateVRMode
  - ipmi::sensor::calculateValue
  - ipmi::sensor::parseSdrIdFromPath
  - ipmi::sensor::getVrEventStatus
  - ipmi::sensor::getOtherSensorsCount
  - ipmi::sensor::getOtherSensorsDataRecord
  - ipmi::sensor::getSupportedVrProfiles
  - ipmi::sensor::calculateVRMode
  - ipmi::sensor::calculateValue
  - ipmi::sensor::parseSdrIdFromPath
  - ipmi::sensor::getVrEventStatus
  - ipmi::sensor::getOtherSensorsCount
  - ipmi::sensor::getOtherSensorsDataRecord
  - ipmi::ipmiSenPlatformEvent
  - ipmi::ipmiSetSensorReading
  - ipmi::ipmiSenGetSensorReading
  - ipmi::ipmiSenSetSensorThresholds
  - ipmi::getIPMIThresholds
  - ipmi::ipmiSenGetSensorThresholds
  - ipmi::ipmiSenGetSensorEventEnable
  - ipmi::ipmiSenGetSensorEventStatus
  - ipmi::constructSensorSdrHeaderKey
  - ipmi::constructSensorSdr
  - ipmi::constructStaticSensorSdr
  - ipmi::constructEventSdrHeaderKey
  - ipmi::constructVrSdr
  - ipmi::getNumberOfSensors
  - ipmi::getSensorDataRecord
  - ipmi::ipmiSensorGetDeviceSdrInfo
  - ipmi::ipmiStorageGetSDRRepositoryInfo
  - ipmi::ipmiStorageGetSDRAllocationInfo
  - ipmi::ipmiStorageReserveSDR
  - ipmi::ipmiStorageGetSDR
  - ipmi::dcmi::getSensorsByEntityId
  - ipmi::dcmi::readTemp
  - ipmi::dcmi::getSensorInfo
  - ipmi::dcmi::getTempReadings
  - ipmi::dcmi::getSensorsByEntityId
  - ipmi::dcmi::readTemp
  - ipmi::dcmi::getSensorInfo
  - ipmi::dcmi::getTempReadings
  - ipmi::registerSensorFunctions
  source_file: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields: []
      item_type: struct
      name: CmpStr
      pos:
        line_end: 129
        line_start: 123
        source_file: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp
    - fields: []
      item_type: struct
      name: CmpStr
      pos:
        line_end: 129
        line_start: 123
        source_file: /src/phosphor-host-ipmid/dbus-sdr/sensorcommands.cpp
    typedefs: []
    union: []
- function_names:
  - ipmi::getDbusObject
  - ipmi::getDbusProperty
  - ipmi::getAllDbusProperties
  - ipmi::getManagedObjects
  - ipmi::setDbusProperty
  - ipmi::ServiceCache::ServiceCache
  - ipmi::ServiceCache::ServiceCache
  - '& ServiceCache::getService(sdbusplus::bus_t& bus)'
  - ipmi::ServiceCache::invalidate
  - ipmi::ServiceCache::newMethodCall
  - ipmi::ServiceCache::isValid
  - ipmi::getService
  - ipmi::getSubTree
  - ipmi::getAllDbusObjects
  - ipmi::method_no_args::callDbusMethod
  - ipmi::method_no_args::callDbusMethod
  - ipmi::getService
  - ipmi::getSubTree
  - ipmi::getDbusObject
  - ipmi::getAllDbusProperties
  - ipmi::setDbusProperty
  - ipmi::getAllDbusObjects
  - ipmi::getManagedObjects
  - ipmi::callDbusMethod
  - ipmi::i2cWriteRead
  - ipmi::split
  - ipmi::getDbusObject
  - ipmi::getDbusProperty
  - ipmi::getAllDbusProperties
  - ipmi::getManagedObjects
  - ipmi::setDbusProperty
  - ipmi::ServiceCache::ServiceCache
  - ipmi::ServiceCache::ServiceCache
  - '& ServiceCache::getService(sdbusplus::bus_t& bus)'
  - ipmi::ServiceCache::invalidate
  - ipmi::ServiceCache::newMethodCall
  - ipmi::ServiceCache::isValid
  - ipmi::getService
  - ipmi::getSubTree
  - ipmi::getAllDbusObjects
  - ipmi::method_no_args::callDbusMethod
  - ipmi::method_no_args::callDbusMethod
  - ipmi::getService
  - ipmi::getSubTree
  - ipmi::getDbusObject
  - ipmi::getAllDbusProperties
  - ipmi::setDbusProperty
  - ipmi::getAllDbusObjects
  - ipmi::getManagedObjects
  - ipmi::callDbusMethod
  - ipmi::i2cWriteRead
  - ipmi::split
  source_file: /src/phosphor-host-ipmid/libipmid/utils.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - SignalHandler::SignalHandler
  - ~SignalHandler()
  - SignalHandler::registerHandler
  - SignalHandler::handleSignal
  - SignalHandler::asyncWait
  - SignalHandler::SignalHandler
  - ~SignalHandler()
  - SignalHandler::registerHandler
  - SignalHandler::handleSignal
  - SignalHandler::asyncWait
  - registerSignalHandler
  source_file: /src/phosphor-host-ipmid/libipmid/signals.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - setIoContext
  - getIoContext
  - setSdBus
  - getSdBus
  source_file: /src/phosphor-host-ipmid/libipmid/sdbus-asio.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ipmi::sensor::EntityInfoMapContainer::getContainer
  - '& EntityInfoMapContainer::getIpmiEntityRecords()'
  - ipmi::sensor::buildEntityMapFromFile
  - ipmi::sensor::buildJsonEntityMap
  - ipmi::sensor::EntityInfoMapContainer::getContainer
  - '& EntityInfoMapContainer::getIpmiEntityRecords()'
  - ipmi::sensor::buildEntityMapFromFile
  - ipmi::sensor::buildJsonEntityMap
  - ipmi::sensor::EntityInfoMapContainer::getContainer
  - '& EntityInfoMapContainer::getIpmiEntityRecords()'
  - ipmi::sensor::buildEntityMapFromFile
  - ipmi::sensor::buildJsonEntityMap
  - ipmi::sensor::EntityInfoMapContainer::getContainer
  - '& EntityInfoMapContainer::getIpmiEntityRecords()'
  - ipmi::sensor::buildEntityMapFromFile
  - ipmi::sensor::buildJsonEntityMap
  source_file: /src/phosphor-host-ipmid/libipmid/entity_map_json.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ipmid_get_sdbus_plus_handler
  source_file: /src/phosphor-host-ipmid/libipmid/systemintf-sdbus.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/phosphor-host-ipmid/softoff/mainapp.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - phosphor::ipmi::SoftPowerOff::SoftPowerOff
  - phosphor::ipmi::SoftPowerOff::isCompleted
  - phosphor::ipmi::SoftPowerOff::isTimerExpired
  - phosphor::ipmi::SoftPowerOff::SoftPowerOff
  - phosphor::ipmi::SoftPowerOff::isCompleted
  - phosphor::ipmi::SoftPowerOff::isTimerExpired
  - phosphor::ipmi::SoftPowerOff::SoftPowerOff
  - phosphor::ipmi::SoftPowerOff::isCompleted
  - phosphor::ipmi::SoftPowerOff::isTimerExpired
  - phosphor::ipmi::SoftPowerOff::SoftPowerOff
  - phosphor::ipmi::SoftPowerOff::isCompleted
  - phosphor::ipmi::SoftPowerOff::isTimerExpired
  source_file: /src/phosphor-host-ipmid/softoff/softoff.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - phosphor::ipmi::SoftPowerOff::sendHostShutDownCmd
  - phosphor::ipmi::SoftPowerOff::hostControlEvent
  - phosphor::ipmi::SoftPowerOff::startTimer
  - phosphor::ipmi::SoftPowerOff::responseReceived
  - phosphor::ipmi::SoftPowerOff::sendHostShutDownCmd
  - phosphor::ipmi::SoftPowerOff::hostControlEvent
  - phosphor::ipmi::SoftPowerOff::startTimer
  - phosphor::ipmi::SoftPowerOff::responseReceived
  - phosphor::ipmi::SoftPowerOff::sendHostShutDownCmd
  - phosphor::ipmi::SoftPowerOff::hostControlEvent
  - phosphor::ipmi::SoftPowerOff::startTimer
  - phosphor::ipmi::SoftPowerOff::responseReceived
  - phosphor::ipmi::SoftPowerOff::sendHostShutDownCmd
  - phosphor::ipmi::SoftPowerOff::hostControlEvent
  - phosphor::ipmi::SoftPowerOff::startTimer
  - phosphor::ipmi::SoftPowerOff::responseReceived
  source_file: /src/phosphor-host-ipmid/softoff/softoff.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/phosphor-host-ipmid/include/ipmid-host/cmd-utils.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/phosphor-host-ipmid/include/ipmid-host/cmd.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - operator()(std::string a, std::string b) const
  - '& getName(void) const'
  - details::IPMIStatsEntry::updateName
  - details::IPMIStatsEntry::updateReading
  - details::IPMIStatsTable::padEntries
  - details::IPMIStatsTable::wipeTable
  - '& getName(size_t index)'
  - details::IPMIStatsTable::updateName
  - details::IPMIStatsTable::updateReading
  - details::IPMIWriteEntry::getWritePermission
  - details::IPMIWriteEntry::setWritePermission
  - details::IPMIWriteTable::padEntries
  - details::IPMIWriteTable::wipeTable
  - details::IPMIWriteTable::getWritePermission
  - details::IPMIWriteTable::setWritePermission
  - '& getName(void) const'
  - details::IPMIStatsEntry::updateName
  - details::IPMIStatsEntry::updateReading
  - details::IPMIStatsTable::padEntries
  - details::IPMIStatsTable::wipeTable
  - '& getName(size_t index)'
  - details::IPMIStatsTable::updateName
  - details::IPMIStatsTable::updateReading
  - details::IPMIWriteEntry::getWritePermission
  - details::IPMIWriteEntry::setWritePermission
  - details::IPMIWriteTable::padEntries
  - details::IPMIWriteTable::wipeTable
  - details::IPMIWriteTable::getWritePermission
  - details::IPMIWriteTable::setWritePermission
  - operator()(const char* a, const char* b) const
  source_file: /src/phosphor-host-ipmid/include/dbus-sdr/sdrutils.hpp
  types:
    enum:
    - enumerators:
      - name: reserved
        value: '0x00'
      - name: temperature
        value: '0x01'
      - name: voltage
        value: '0x02'
      - name: current
        value: '0x03'
      - name: fan
        value: '0x04'
      - name: physicalSecurity
        value: '0x5'
      - name: processor
        value: '0x07'
      - name: powerUnit
        value: '0x09'
      - name: other
        value: '0x0b'
      - name: memory
        value: '0x0c'
      - name: watchdog2
        value: '0x23'
      - name: entity
        value: '0x25'
      - name: buttons
        value: '0x14'
      - name: oemC0
        value: '0xc0'
      item_type: enum
      name: SensorTypeCodes
      pos:
        line_end: 319
        line_start: 303
        source_file: /src/phosphor-host-ipmid/include/dbus-sdr/sdrutils.hpp
    - enumerators:
      - name: unspecified
        value: '0x00'
      - name: threshold
        value: '0x01'
      - name: sensorSpecified
        value: '0x6f'
      item_type: enum
      name: SensorEventTypeCodes
      pos:
        line_end: 326
        line_start: 321
        source_file: /src/phosphor-host-ipmid/include/dbus-sdr/sdrutils.hpp
    preproc_defs: []
    structs:
    - fields: []
      item_type: struct
      name: CmpStrVersion
      pos:
        line_end: 43
        line_start: 37
        source_file: /src/phosphor-host-ipmid/include/dbus-sdr/sdrutils.hpp
    - fields: []
      item_type: struct
      name: CmpStr
      pos:
        line_end: 298
        line_start: 292
        source_file: /src/phosphor-host-ipmid/include/dbus-sdr/sdrutils.hpp
    typedefs: []
    union: []
- function_names: []
  source_file: /src/phosphor-host-ipmid/include/dbus-sdr/sensorcommands.hpp
  types:
    enum:
    - enumerators:
      - name: lowerNonCritical
      - name: lowerCritical
      - name: lowerNonRecoverable
      - name: upperNonCritical
      - name: upperCritical
      - name: upperNonRecoverable
      item_type: enum
      name: IPMIThresholdRespBits
      pos:
        line_end: 44
        line_start: 36
        source_file: /src/phosphor-host-ipmid/include/dbus-sdr/sensorcommands.hpp
    - enumerators:
      - name: eventMessagesEnable
        value: (1 << 7)
      - name: readingStateUnavailable
        value: (1 << 5)
      - name: sensorScanningEnable
        value: (1 << 6)
      item_type: enum
      name: IPMISensorReadingByte2
      pos:
        line_end: 51
        line_start: 46
        source_file: /src/phosphor-host-ipmid/include/dbus-sdr/sensorcommands.hpp
    - enumerators:
      - name: upperNonRecoverable
        value: (1 << 5)
      - name: upperCritical
        value: (1 << 4)
      - name: upperNonCritical
        value: (1 << 3)
      - name: lowerNonRecoverable
        value: (1 << 2)
      - name: lowerCritical
        value: (1 << 1)
      - name: lowerNonCritical
        value: (1 << 0)
      item_type: enum
      name: IPMISensorReadingByte3
      pos:
        line_end: 61
        line_start: 53
        source_file: /src/phosphor-host-ipmid/include/dbus-sdr/sensorcommands.hpp
    - enumerators:
      - name: eventMessagesEnable
        value: (1 << 7)
      - name: sensorScanningEnable
        value: (1 << 6)
      item_type: enum
      name: IPMISensorEventEnableByte2
      pos:
        line_end: 67
        line_start: 63
        source_file: /src/phosphor-host-ipmid/include/dbus-sdr/sensorcommands.hpp
    - enumerators:
      - name: nonRecoverableThreshold
        value: (1 << 6)
      - name: criticalThreshold
        value: (1 << 5)
      - name: nonCriticalThreshold
        value: (1 << 4)
      - name: upperNonRecoverableGoingHigh
        value: (1 << 3)
      - name: upperNonRecoverableGoingLow
        value: (1 << 2)
      - name: upperCriticalGoingHigh
        value: (1 << 1)
      - name: upperCriticalGoingLow
        value: (1 << 0)
      - name: upperNonCriticalGoingHigh
        value: (1 << 7)
      - name: upperNonCriticalGoingLow
        value: (1 << 6)
      - name: lowerNonRecoverableGoingHigh
        value: (1 << 5)
      - name: lowerNonRecoverableGoingLow
        value: (1 << 4)
      - name: lowerNonCriticalGoingHigh
        value: (1 << 1)
      - name: lowerCriticalGoingHigh
        value: (1 << 3)
      - name: lowerCriticalGoingLow
        value: (1 << 2)
      - name: lowerNonCriticalGoingLow
        value: (1 << 0)
      item_type: enum
      name: IPMISensorEventEnableThresholds
      pos:
        line_end: 86
        line_start: 69
        source_file: /src/phosphor-host-ipmid/include/dbus-sdr/sensorcommands.hpp
    - enumerators:
      - name: lowerNonCriticalGoingLow
        value: '0'
      - name: lowerNonCriticalGoingHigh
        value: '1'
      - name: lowerCriticalGoingLow
        value: '2'
      - name: lowerCriticalGoingHigh
        value: '3'
      - name: lowerNonRecoverableGoingLow
        value: '4'
      - name: lowerNonRecoverableGoingHigh
        value: '5'
      - name: upperNonCriticalGoingLow
        value: '6'
      - name: upperNonCriticalGoingHigh
        value: '7'
      - name: upperCriticalGoingLow
        value: '8'
      - name: upperCriticalGoingHigh
        value: '9'
      - name: upperNonRecoverableGoingHigh
        value: '11'
      - name: upperNonRecoverableGoingLow
        value: '10'
      item_type: enum
      name: IPMIGetSensorEventEnableThresholds
      pos:
        line_end: 102
        line_start: 88
        source_file: /src/phosphor-host-ipmid/include/dbus-sdr/sensorcommands.hpp
    preproc_defs: []
    structs:
    - fields:
      - name: readable
        type: uint8_t
      - name: lowernc
        type: uint8_t
      - name: lowercritical
        type: uint8_t
      - name: lowernonrecoverable
        type: uint8_t
      - name: uppernc
        type: uint8_t
      - name: uppercritical
        type: uint8_t
      - name: uppernonrecoverable
        type: uint8_t
      item_type: struct
      name: SensorThresholdResp
      pos:
        line_end: 32
        line_start: 23
        source_file: /src/phosphor-host-ipmid/include/dbus-sdr/sensorcommands.hpp
    - fields:
      - name: warningLow
        type: std::optional<uint8_t>
      - name: warningHigh
        type: std::optional<uint8_t>
      - name: criticalLow
        type: std::optional<uint8_t>
      - name: criticalHigh
        type: std::optional<uint8_t>
      item_type: struct
      name: IPMIThresholds
      pos:
        line_end: 121
        line_start: 115
        source_file: /src/phosphor-host-ipmid/include/dbus-sdr/sensorcommands.hpp
    - fields:
      - name: objectPath
        type: std::string
      - name: type
        type: uint8_t
      - name: recordId
        type: uint16_t
      - name: entityId
        type: uint8_t
      - name: entityInstance
        type: uint8_t
      item_type: struct
      name: sensorInfo
      pos:
        line_end: 158
        line_start: 151
        source_file: /src/phosphor-host-ipmid/include/dbus-sdr/sensorcommands.hpp
    - fields:
      - name: objectPath
        type: std::string
      - name: type
        type: uint8_t
      - name: recordId
        type: uint16_t
      - name: entityId
        type: uint8_t
      - name: entityInstance
        type: uint8_t
      item_type: struct
      name: sensorInfo
      pos:
        line_end: 158
        line_start: 151
        source_file: /src/phosphor-host-ipmid/include/dbus-sdr/sensorcommands.hpp
    - fields:
      - name: warningLow
        type: std::optional<uint8_t>
      - name: warningHigh
        type: std::optional<uint8_t>
      - name: criticalLow
        type: std::optional<uint8_t>
      - name: criticalHigh
        type: std::optional<uint8_t>
      item_type: struct
      name: IPMIThresholds
      pos:
        line_end: 121
        line_start: 115
        source_file: /src/phosphor-host-ipmid/include/dbus-sdr/sensorcommands.hpp
    - fields:
      - name: objectPath
        type: std::string
      - name: type
        type: uint8_t
      - name: recordId
        type: uint16_t
      - name: entityId
        type: uint8_t
      - name: entityInstance
        type: uint8_t
      item_type: struct
      name: sensorInfo
      pos:
        line_end: 158
        line_start: 151
        source_file: /src/phosphor-host-ipmid/include/dbus-sdr/sensorcommands.hpp
    - fields:
      - name: objectPath
        type: std::string
      - name: type
        type: uint8_t
      - name: recordId
        type: uint16_t
      - name: entityId
        type: uint8_t
      - name: entityInstance
        type: uint8_t
      item_type: struct
      name: sensorInfo
      pos:
        line_end: 158
        line_start: 151
        source_file: /src/phosphor-host-ipmid/include/dbus-sdr/sensorcommands.hpp
    typedefs: []
    union: []
- function_names:
  - Type12Record
  source_file: /src/phosphor-host-ipmid/include/dbus-sdr/storagecommands.hpp
  types:
    enum:
    - enumerators:
      - name: allocCommandSupported
        value: '0x1'
      - name: reserveSDRRepositoryCommandSupported
        value: '0x2'
      - name: deleteSDRSupported
        value: '0x8'
      - name: reserved
        value: '0x10'
      - name: partialAddSDRSupported
        value: '0x4'
      - name: modalLSB
        value: '0x20'
      - name: modalMSB
        value: '0x40'
      - name: overflow
        value: '0x80'
      item_type: enum
      name: SdrRepositoryInfoOps
      pos:
        line_end: 47
        line_start: 37
        source_file: /src/phosphor-host-ipmid/include/dbus-sdr/storagecommands.hpp
    - enumerators:
      - name: byte
        value: '0x0'
      - name: words
        value: '0x1'
      item_type: enum
      name: GetFRUAreaAccessType
      pos:
        line_end: 53
        line_start: 49
        source_file: /src/phosphor-host-ipmid/include/dbus-sdr/storagecommands.hpp
    - enumerators:
      - name: unspecified
        value: '0x0'
      - name: amps
        value: '0x5'
      - name: watts
        value: '0x6'
      - name: degreesC
        value: '0x1'
      - name: volts
        value: '0x4'
      - name: joules
        value: '0x7'
      - name: rpm
        value: '0x12'
      item_type: enum
      name: SensorUnits
      pos:
        line_end: 64
        line_start: 55
        source_file: /src/phosphor-host-ipmid/include/dbus-sdr/storagecommands.hpp
    preproc_defs: []
    structs:
    - fields:
      - name: commonHeaderFormat
        type: uint8_t
      - name: internalOffset
        type: uint8_t
      - name: chassisOffset
        type: uint8_t
      - name: boardOffset
        type: uint8_t
      - name: productOffset
        type: uint8_t
      - name: multiRecordOffset
        type: uint8_t
      - name: pad
        type: uint8_t
      - name: checksum
        type: uint8_t
      item_type: struct
      name: FRUHeader
      pos:
        line_end: 77
        line_start: 67
        source_file: /src/phosphor-host-ipmid/include/dbus-sdr/storagecommands.hpp
    - fields:
      - name: header
        type: get_sdr::SensorDataRecordHeader
      - name: targetAddress
        type: uint8_t
      - name: channelNumber
        type: uint8_t
      - name: powerStateNotification
        type: uint8_t
      - name: deviceCapabilities
        type: uint8_t
      - name: reserved[3]
        type: uint8_t
      - name: entityID
        type: uint8_t
      - name: entityInstance
        type: uint8_t
      - name: oem
        type: uint8_t
      - name: typeLengthCode
        type: uint8_t
      - name: name[16]
        type: char
      item_type: struct
      name: Type12Record
      pos:
        line_end: 116
        line_start: 81
        source_file: /src/phosphor-host-ipmid/include/dbus-sdr/storagecommands.hpp
    typedefs: []
    union: []
- function_names: []
  source_file: /src/phosphor-host-ipmid/include/dbus-sdr/sensorutils.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/phosphor-host-ipmid/include/ipmid/iana.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/phosphor-host-ipmid/include/ipmid/api.h
  types:
    enum:
    - enumerators:
      - name: PRIVILEGE_CALLBACK
        value: '0x01'
      - name: PRIVILEGE_OEM
      - name: PRIVILEGE_ADMIN
      - name: PRIVILEGE_OPERATOR
      - name: PRIVILEGE_USER
      - name: SYSTEM_INTERFACE
        value: '0xFF'
      item_type: enum
      name: CommandPrivilege
      pos:
        line_end: 21
        line_start: 13
        source_file: /src/phosphor-host-ipmid/include/ipmid/api.h
    - enumerators:
      - name: IPMI_WDOG_CC_NOT_INIT
        value: '0x80'
      - name: IPMI_CC_INVALID
        value: '0xC1'
      - name: IPMI_CC_SENSOR_INVALID
        value: '0xCB'
      - name: IPMI_CC_INSUFFICIENT_PRIVILEGE
        value: '0xD4'
      - name: IPMI_CC_REQ_DATA_TRUNCATED
        value: '0xC6'
      - name: IPMI_DCMI_CC_NO_ACTIVE_POWER_LIMIT
        value: '0x80'
      - name: IPMI_CC_BUSY
        value: '0xC0'
      - name: IPMI_CC_INVALID_RESERVATION_ID
        value: '0xC5'
      - name: IPMI_CC_REQUESTED_TOO_MANY_BYTES
        value: '0xCA'
      - name: IPMI_CC_RESPONSE_ERROR
        value: '0xCE'
      - name: IPMI_CC_SYSTEM_INFO_PARAMETER_SET_READ_ONLY
        value: '0x82'
      - name: IPMI_CC_OUT_OF_SPACE
        value: '0xC4'
      - name: IPMI_CC_PARM_OUT_OF_RANGE
        value: '0xC9'
      - name: IPMI_CC_ILLEGAL_COMMAND
        value: '0xCD'
      - name: IPMI_CC_OK
        value: '0x00'
      - name: IPMI_CC_SYSTEM_INFO_PARAMETER_NOT_SUPPORTED
        value: '0x80'
      - name: IPMI_CC_TIMEOUT
        value: '0xC3'
      - name: IPMI_CC_REQ_DATA_LEN_INVALID
        value: '0xC7'
      - name: IPMI_CC_INVALID_FIELD_REQUEST
        value: '0xCC'
      - name: IPMI_CC_UNSPECIFIED_ERROR
        value: '0xFF'
      item_type: enum
      name: ipmi_return_codes
      pos:
        line_end: 124
        line_start: 102
        source_file: /src/phosphor-host-ipmid/include/ipmid/api.h
    preproc_defs:
    - item_type: preproc_def
      name: MAX_IPMI_BUFFER
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/phosphor-host-ipmid/include/ipmid/api.h
      type_or_value: '64'
    structs: []
    typedefs:
    - item_type: typedef
      name: ipmi_netfn_t
      pos:
        line_end: 26
        line_start: 26
        source_file: /src/phosphor-host-ipmid/include/ipmid/api.h
      type: unsigned char
    - item_type: typedef
      name: ipmi_cmd_t
      pos:
        line_end: 29
        line_start: 29
        source_file: /src/phosphor-host-ipmid/include/ipmid/api.h
      type: unsigned char
    - item_type: typedef
      name: '* ipmi_request_t'
      pos:
        line_end: 32
        line_start: 32
        source_file: /src/phosphor-host-ipmid/include/ipmid/api.h
      type: void
    - item_type: typedef
      name: '* ipmi_response_t'
      pos:
        line_end: 42
        line_start: 42
        source_file: /src/phosphor-host-ipmid/include/ipmid/api.h
      type: void
    - item_type: typedef
      name: '* ipmi_context_t'
      pos:
        line_end: 50
        line_start: 50
        source_file: /src/phosphor-host-ipmid/include/ipmid/api.h
      type: void
    - item_type: typedef
      name: '* ipmi_data_len_t'
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/phosphor-host-ipmid/include/ipmid/api.h
      type: size_t
    - item_type: typedef
      name: ipmi_ret_t
      pos:
        line_end: 57
        line_start: 57
        source_file: /src/phosphor-host-ipmid/include/ipmid/api.h
      type: unsigned char
    - item_type: typedef
      name: ipmi_cmd_privilege_t
      pos:
        line_end: 59
        line_start: 59
        source_file: /src/phosphor-host-ipmid/include/ipmid/api.h
      type: CommandPrivilege
    - item_type: typedef
      name: "(*ipmid_callback_t)(ipmi_netfn_t, ipmi_cmd_t, ipmi_request_t,\n                                       ipmi_response_t,
        ipmi_data_len_t,\n                                       ipmi_context_t)"
      pos:
        line_end: 66
        line_start: 64
        source_file: /src/phosphor-host-ipmid/include/ipmid/api.h
      type: ipmi_ret_t
    union: []
- function_names:
  - ipmi::errorResponse
  - ipmi::errorResponse
  - ipmi::HandlerCompletion::HandlerCompletion
  - ipmi::HandlerCompletion::code
  - ipmi::HandlerException::HandlerException
  - ipmi::HandlerException::HandlerException
  - ipmi::currentExceptionType
  - ~HandlerBase()
  - ipmi::HandlerBase::call
  - ipmi::IpmiHandler::IpmiHandler
  - ipmi::IpmiHandler::executeCallback
  - ipmi::IpmiHandler<ipmid_callback_t>::IpmiHandler
  - ipmi::IpmiHandler<ipmid_callback_t>::executeCallback
  - ipmi::IpmiHandler<oem::Handler>::IpmiHandler
  - ipmi::IpmiHandler<oem::Handler>::executeCallback
  - ipmi::makeLegacyHandler
  - ipmi::makeLegacyHandler
  - ipmi::makeHandler
  - ipmi::registerHandler
  - ipmi::registerGroupHandler
  - ipmi::registerOemHandler
  - ipmi::errorResponse
  - ipmi::errorResponse
  - ipmi::HandlerCompletion::HandlerCompletion
  - ipmi::HandlerCompletion::code
  - ipmi::HandlerException::HandlerException
  - ipmi::HandlerException::HandlerException
  - ipmi::currentExceptionType
  - ~HandlerBase()
  - ipmi::HandlerBase::call
  - ipmi::IpmiHandler::IpmiHandler
  - ipmi::IpmiHandler::executeCallback
  - ipmi::IpmiHandler<ipmid_callback_t>::IpmiHandler
  - ipmi::IpmiHandler<ipmid_callback_t>::executeCallback
  - ipmi::IpmiHandler<oem::Handler>::IpmiHandler
  - ipmi::IpmiHandler<oem::Handler>::executeCallback
  - ipmi::makeLegacyHandler
  - ipmi::makeLegacyHandler
  - ipmi::makeHandler
  - ipmi::registerHandler
  - ipmi::registerGroupHandler
  - ipmi::registerOemHandler
  source_file: /src/phosphor-host-ipmid/include/ipmid/handler.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/phosphor-host-ipmid/include/ipmid/oemopenbmc.hpp
  types:
    enum:
    - enumerators:
      - name: gpioCmd
        value: '1'
      - name: ethStatsCmd
        value: '48'
      - name: fanManualCmd
        value: '4'
      - name: flashCmd
        value: '3'
      - name: i2cCmd
        value: '2'
      - name: blobTransferCmd
        value: '128'
      item_type: enum
      name: Cmd
      pos:
        line_end: 19
        line_start: 11
        source_file: /src/phosphor-host-ipmid/include/ipmid/oemopenbmc.hpp
    - enumerators:
      - name: gpioCmd
        value: '1'
      - name: ethStatsCmd
        value: '48'
      - name: fanManualCmd
        value: '4'
      - name: flashCmd
        value: '3'
      - name: i2cCmd
        value: '2'
      - name: blobTransferCmd
        value: '128'
      item_type: enum
      name: Cmd
      pos:
        line_end: 19
        line_start: 11
        source_file: /src/phosphor-host-ipmid/include/ipmid/oemopenbmc.hpp
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ipmi::sensor::EntityInfoMapContainer::EntityInfoMapContainer
  - ipmi::sensor::EntityInfoMapContainer::EntityInfoMapContainer
  - ipmi::sensor::EntityInfoMapContainer::EntityInfoMapContainer
  - ipmi::sensor::EntityInfoMapContainer::EntityInfoMapContainer
  source_file: /src/phosphor-host-ipmid/include/ipmid/entity_map_json.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - post_work
  source_file: /src/phosphor-host-ipmid/include/ipmid/api.hpp
  types:
    enum:
    - enumerators:
      - name: breakExecution
      - name: continueExecution
      item_type: enum
      name: SignalResponse
      pos:
        line_end: 57
        line_start: 53
        source_file: /src/phosphor-host-ipmid/include/ipmid/api.hpp
    preproc_defs:
    - item_type: preproc_def
      name: ALLOW_DEPRECATED_API
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/phosphor-host-ipmid/include/ipmid/api.hpp
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - ipmi::utility::size
  - ipmi::utility::size
  - ipmi::utility::size
  - ipmi::utility::size
  - ipmi::utility::size
  - ipmi::utility::size
  - ipmi::utility::size
  - ipmi::utility::size
  source_file: /src/phosphor-host-ipmid/include/ipmid/utility.hpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields: []
      item_type: struct
      name: StripFirstArgs<N, std::tuple<FirstArg, Rest...>>
      pos:
        line_end: 51
        line_start: 49
        source_file: /src/phosphor-host-ipmid/include/ipmid/utility.hpp
    - fields: []
      item_type: struct
      name: StripFirstArgs<0, std::tuple<FirstArg, Rest...>>
      pos:
        line_end: 57
        line_start: 54
        source_file: /src/phosphor-host-ipmid/include/ipmid/utility.hpp
    - fields: []
      item_type: struct
      name: StripFirstArgs<N, std::tuple<>>
      pos:
        line_end: 62
        line_start: 59
        source_file: /src/phosphor-host-ipmid/include/ipmid/utility.hpp
    - fields: []
      item_type: struct
      name: NonIpmiArgsCount<std::tuple<>>
      pos:
        line_end: 87
        line_start: 81
        source_file: /src/phosphor-host-ipmid/include/ipmid/utility.hpp
    - fields: []
      item_type: struct
      name: NonIpmiArgsCount<std::tuple<FirstArg, OtherArgs...>>
      pos:
        line_end: 107
        line_start: 89
        source_file: /src/phosphor-host-ipmid/include/ipmid/utility.hpp
    - fields: []
      item_type: struct
      name: GetFirstArg
      pos:
        line_end: 118
        line_start: 115
        source_file: /src/phosphor-host-ipmid/include/ipmid/utility.hpp
    - fields: []
      item_type: struct
      name: GetFirstArg<std::tuple<FirstArg, Rest...>>
      pos:
        line_end: 124
        line_start: 121
        source_file: /src/phosphor-host-ipmid/include/ipmid/utility.hpp
    - fields: []
      item_type: struct
      name: DecayTuple<std::tuple<Args...>>
      pos:
        line_end: 138
        line_start: 135
        source_file: /src/phosphor-host-ipmid/include/ipmid/utility.hpp
    - fields: []
      item_type: struct
      name: DowncastMembers
      pos:
        line_end: 166
        line_start: 163
        source_file: /src/phosphor-host-ipmid/include/ipmid/utility.hpp
    - fields: []
      item_type: struct
      name: DowncastMembers<std::pair<Args...>>
      pos:
        line_end: 172
        line_start: 168
        source_file: /src/phosphor-host-ipmid/include/ipmid/utility.hpp
    - fields: []
      item_type: struct
      name: DowncastMembers<std::tuple<Args...>>
      pos:
        line_end: 179
        line_start: 175
        source_file: /src/phosphor-host-ipmid/include/ipmid/utility.hpp
    - fields: []
      item_type: struct
      name: TypeIdDowncast
      pos:
        line_end: 198
        line_start: 194
        source_file: /src/phosphor-host-ipmid/include/ipmid/utility.hpp
    - fields: []
      item_type: struct
      name: is_tuple
      pos:
        line_end: 208
        line_start: 207
        source_file: /src/phosphor-host-ipmid/include/ipmid/utility.hpp
    - fields: []
      item_type: struct
      name: is_tuple<std::tuple<T...>>
      pos:
        line_end: 212
        line_start: 211
        source_file: /src/phosphor-host-ipmid/include/ipmid/utility.hpp
    - fields: []
      item_type: struct
      name: dependent_false
      pos:
        line_end: 218
        line_start: 217
        source_file: /src/phosphor-host-ipmid/include/ipmid/utility.hpp
    - fields: []
      item_type: struct
      name: StripFirstArgs<N, std::tuple<FirstArg, Rest...>>
      pos:
        line_end: 51
        line_start: 49
        source_file: /src/phosphor-host-ipmid/include/ipmid/utility.hpp
    - fields: []
      item_type: struct
      name: StripFirstArgs<0, std::tuple<FirstArg, Rest...>>
      pos:
        line_end: 57
        line_start: 54
        source_file: /src/phosphor-host-ipmid/include/ipmid/utility.hpp
    - fields: []
      item_type: struct
      name: StripFirstArgs<N, std::tuple<>>
      pos:
        line_end: 62
        line_start: 59
        source_file: /src/phosphor-host-ipmid/include/ipmid/utility.hpp
    - fields: []
      item_type: struct
      name: NonIpmiArgsCount<std::tuple<>>
      pos:
        line_end: 87
        line_start: 81
        source_file: /src/phosphor-host-ipmid/include/ipmid/utility.hpp
    - fields: []
      item_type: struct
      name: NonIpmiArgsCount<std::tuple<FirstArg, OtherArgs...>>
      pos:
        line_end: 107
        line_start: 89
        source_file: /src/phosphor-host-ipmid/include/ipmid/utility.hpp
    - fields: []
      item_type: struct
      name: GetFirstArg
      pos:
        line_end: 118
        line_start: 115
        source_file: /src/phosphor-host-ipmid/include/ipmid/utility.hpp
    - fields: []
      item_type: struct
      name: GetFirstArg<std::tuple<FirstArg, Rest...>>
      pos:
        line_end: 124
        line_start: 121
        source_file: /src/phosphor-host-ipmid/include/ipmid/utility.hpp
    - fields: []
      item_type: struct
      name: DecayTuple<std::tuple<Args...>>
      pos:
        line_end: 138
        line_start: 135
        source_file: /src/phosphor-host-ipmid/include/ipmid/utility.hpp
    - fields: []
      item_type: struct
      name: DowncastMembers
      pos:
        line_end: 166
        line_start: 163
        source_file: /src/phosphor-host-ipmid/include/ipmid/utility.hpp
    - fields: []
      item_type: struct
      name: DowncastMembers<std::pair<Args...>>
      pos:
        line_end: 172
        line_start: 168
        source_file: /src/phosphor-host-ipmid/include/ipmid/utility.hpp
    - fields: []
      item_type: struct
      name: DowncastMembers<std::tuple<Args...>>
      pos:
        line_end: 179
        line_start: 175
        source_file: /src/phosphor-host-ipmid/include/ipmid/utility.hpp
    - fields: []
      item_type: struct
      name: TypeIdDowncast
      pos:
        line_end: 198
        line_start: 194
        source_file: /src/phosphor-host-ipmid/include/ipmid/utility.hpp
    - fields: []
      item_type: struct
      name: is_tuple
      pos:
        line_end: 208
        line_start: 207
        source_file: /src/phosphor-host-ipmid/include/ipmid/utility.hpp
    - fields: []
      item_type: struct
      name: is_tuple<std::tuple<T...>>
      pos:
        line_end: 212
        line_start: 211
        source_file: /src/phosphor-host-ipmid/include/ipmid/utility.hpp
    - fields: []
      item_type: struct
      name: dependent_false
      pos:
        line_end: 218
        line_start: 217
        source_file: /src/phosphor-host-ipmid/include/ipmid/utility.hpp
    - fields: []
      item_type: struct
      name: StripFirstArgs<N, std::tuple<FirstArg, Rest...>>
      pos:
        line_end: 51
        line_start: 49
        source_file: /src/phosphor-host-ipmid/include/ipmid/utility.hpp
    - fields: []
      item_type: struct
      name: StripFirstArgs<0, std::tuple<FirstArg, Rest...>>
      pos:
        line_end: 57
        line_start: 54
        source_file: /src/phosphor-host-ipmid/include/ipmid/utility.hpp
    - fields: []
      item_type: struct
      name: StripFirstArgs<N, std::tuple<>>
      pos:
        line_end: 62
        line_start: 59
        source_file: /src/phosphor-host-ipmid/include/ipmid/utility.hpp
    - fields: []
      item_type: struct
      name: NonIpmiArgsCount<std::tuple<>>
      pos:
        line_end: 87
        line_start: 81
        source_file: /src/phosphor-host-ipmid/include/ipmid/utility.hpp
    - fields: []
      item_type: struct
      name: NonIpmiArgsCount<std::tuple<FirstArg, OtherArgs...>>
      pos:
        line_end: 107
        line_start: 89
        source_file: /src/phosphor-host-ipmid/include/ipmid/utility.hpp
    - fields: []
      item_type: struct
      name: GetFirstArg
      pos:
        line_end: 118
        line_start: 115
        source_file: /src/phosphor-host-ipmid/include/ipmid/utility.hpp
    - fields: []
      item_type: struct
      name: GetFirstArg<std::tuple<FirstArg, Rest...>>
      pos:
        line_end: 124
        line_start: 121
        source_file: /src/phosphor-host-ipmid/include/ipmid/utility.hpp
    - fields: []
      item_type: struct
      name: DecayTuple<std::tuple<Args...>>
      pos:
        line_end: 138
        line_start: 135
        source_file: /src/phosphor-host-ipmid/include/ipmid/utility.hpp
    - fields: []
      item_type: struct
      name: DowncastMembers
      pos:
        line_end: 166
        line_start: 163
        source_file: /src/phosphor-host-ipmid/include/ipmid/utility.hpp
    - fields: []
      item_type: struct
      name: DowncastMembers<std::pair<Args...>>
      pos:
        line_end: 172
        line_start: 168
        source_file: /src/phosphor-host-ipmid/include/ipmid/utility.hpp
    - fields: []
      item_type: struct
      name: DowncastMembers<std::tuple<Args...>>
      pos:
        line_end: 179
        line_start: 175
        source_file: /src/phosphor-host-ipmid/include/ipmid/utility.hpp
    - fields: []
      item_type: struct
      name: TypeIdDowncast
      pos:
        line_end: 198
        line_start: 194
        source_file: /src/phosphor-host-ipmid/include/ipmid/utility.hpp
    - fields: []
      item_type: struct
      name: is_tuple
      pos:
        line_end: 208
        line_start: 207
        source_file: /src/phosphor-host-ipmid/include/ipmid/utility.hpp
    - fields: []
      item_type: struct
      name: is_tuple<std::tuple<T...>>
      pos:
        line_end: 212
        line_start: 211
        source_file: /src/phosphor-host-ipmid/include/ipmid/utility.hpp
    - fields: []
      item_type: struct
      name: dependent_false
      pos:
        line_end: 218
        line_start: 217
        source_file: /src/phosphor-host-ipmid/include/ipmid/utility.hpp
    - fields: []
      item_type: struct
      name: StripFirstArgs<N, std::tuple<FirstArg, Rest...>>
      pos:
        line_end: 51
        line_start: 49
        source_file: /src/phosphor-host-ipmid/include/ipmid/utility.hpp
    - fields: []
      item_type: struct
      name: StripFirstArgs<0, std::tuple<FirstArg, Rest...>>
      pos:
        line_end: 57
        line_start: 54
        source_file: /src/phosphor-host-ipmid/include/ipmid/utility.hpp
    - fields: []
      item_type: struct
      name: StripFirstArgs<N, std::tuple<>>
      pos:
        line_end: 62
        line_start: 59
        source_file: /src/phosphor-host-ipmid/include/ipmid/utility.hpp
    - fields: []
      item_type: struct
      name: NonIpmiArgsCount<std::tuple<>>
      pos:
        line_end: 87
        line_start: 81
        source_file: /src/phosphor-host-ipmid/include/ipmid/utility.hpp
    - fields: []
      item_type: struct
      name: NonIpmiArgsCount<std::tuple<FirstArg, OtherArgs...>>
      pos:
        line_end: 107
        line_start: 89
        source_file: /src/phosphor-host-ipmid/include/ipmid/utility.hpp
    - fields: []
      item_type: struct
      name: GetFirstArg
      pos:
        line_end: 118
        line_start: 115
        source_file: /src/phosphor-host-ipmid/include/ipmid/utility.hpp
    - fields: []
      item_type: struct
      name: GetFirstArg<std::tuple<FirstArg, Rest...>>
      pos:
        line_end: 124
        line_start: 121
        source_file: /src/phosphor-host-ipmid/include/ipmid/utility.hpp
    - fields: []
      item_type: struct
      name: DecayTuple<std::tuple<Args...>>
      pos:
        line_end: 138
        line_start: 135
        source_file: /src/phosphor-host-ipmid/include/ipmid/utility.hpp
    - fields: []
      item_type: struct
      name: DowncastMembers
      pos:
        line_end: 166
        line_start: 163
        source_file: /src/phosphor-host-ipmid/include/ipmid/utility.hpp
    - fields: []
      item_type: struct
      name: DowncastMembers<std::pair<Args...>>
      pos:
        line_end: 172
        line_start: 168
        source_file: /src/phosphor-host-ipmid/include/ipmid/utility.hpp
    - fields: []
      item_type: struct
      name: DowncastMembers<std::tuple<Args...>>
      pos:
        line_end: 179
        line_start: 175
        source_file: /src/phosphor-host-ipmid/include/ipmid/utility.hpp
    - fields: []
      item_type: struct
      name: TypeIdDowncast
      pos:
        line_end: 198
        line_start: 194
        source_file: /src/phosphor-host-ipmid/include/ipmid/utility.hpp
    - fields: []
      item_type: struct
      name: is_tuple
      pos:
        line_end: 208
        line_start: 207
        source_file: /src/phosphor-host-ipmid/include/ipmid/utility.hpp
    - fields: []
      item_type: struct
      name: is_tuple<std::tuple<T...>>
      pos:
        line_end: 212
        line_start: 211
        source_file: /src/phosphor-host-ipmid/include/ipmid/utility.hpp
    - fields: []
      item_type: struct
      name: dependent_false
      pos:
        line_end: 218
        line_start: 217
        source_file: /src/phosphor-host-ipmid/include/ipmid/utility.hpp
    typedefs: []
    union: []
- function_names:
  - ~FilterBase()
  - ipmi::IpmiFilter::IpmiFilter
  - ipmi::IpmiFilter::call
  - ipmi::makeFilter
  - ipmi::makeFilter
  - ipmi::registerFilter
  - ipmi::registerFilter
  - ~FilterBase()
  - ipmi::IpmiFilter::IpmiFilter
  - ipmi::IpmiFilter::call
  - ipmi::makeFilter
  - ipmi::makeFilter
  - ipmi::registerFilter
  - ipmi::registerFilter
  source_file: /src/phosphor-host-ipmid/include/ipmid/filter.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ipmi::Context
  - ipmi::Context
  - '& operator=(const Context&)'
  - ipmi::Context
  - '& operator=(Context&&)'
  - ipmi::Context
  - ipmi::message::Payload
  - ipmi::message::Payload
  - '& operator=(const Payload&)'
  - ipmi::message::Payload
  - '& operator=(Payload&&)'
  - ipmi::message::Payload
  - ~Payload()
  - ipmi::message::size
  - ipmi::message::resize
  - ipmi::message::data
  - ipmi::message::data
  - ipmi::message::append
  - ipmi::message::appendBits
  - ipmi::message::drain
  - ipmi::message::pack
  - ipmi::message::pack
  - ipmi::message::prepend
  - ipmi::message::pop
  - ipmi::message::fillBits
  - ipmi::message::popBits
  - ipmi::message::discardBits
  - ipmi::message::reset
  - ipmi::message::fullyUnpacked
  - ipmi::message::unpack
  - ipmi::message::unpack
  - ipmi::message::unpack
  - ipmi::message::Response
  - ipmi::message::Response
  - '& operator=(const Response&)'
  - ipmi::message::Response
  - '& operator=(Response&&)'
  - ~Response()
  - ipmi::message::Response
  - ipmi::message::pack
  - ipmi::message::pack
  - ipmi::message::prepend
  - ipmi::message::Request
  - ipmi::message::Request
  - '& operator=(const Request&)'
  - ipmi::message::Request
  - '& operator=(Request&&)'
  - ~Request()
  - ipmi::message::Request
  - ipmi::message::unpack
  - ipmi::message::unpack
  - ipmi::message::makeResponse
  - ipmi::message::Payload
  - ipmi::message::Payload
  - '& operator=(const Payload&)'
  - ipmi::message::Payload
  - '& operator=(Payload&&)'
  - ipmi::message::Payload
  - ~Payload()
  - ipmi::message::size
  - ipmi::message::resize
  - ipmi::message::data
  - ipmi::message::data
  - ipmi::message::append
  - ipmi::message::appendBits
  - ipmi::message::drain
  - ipmi::message::pack
  - ipmi::message::pack
  - ipmi::message::prepend
  - ipmi::message::pop
  - ipmi::message::fillBits
  - ipmi::message::popBits
  - ipmi::message::discardBits
  - ipmi::message::reset
  - ipmi::message::fullyUnpacked
  - ipmi::message::unpack
  - ipmi::message::unpack
  - ipmi::message::unpack
  - ipmi::message::Response
  - ipmi::message::Response
  - '& operator=(const Response&)'
  - ipmi::message::Response
  - '& operator=(Response&&)'
  - ~Response()
  - ipmi::message::Response
  - ipmi::message::pack
  - ipmi::message::pack
  - ipmi::message::prepend
  - ipmi::message::Request
  - ipmi::message::Request
  - '& operator=(const Request&)'
  - ipmi::message::Request
  - '& operator=(Request&&)'
  - ~Request()
  - ipmi::message::Request
  - ipmi::message::unpack
  - ipmi::message::unpack
  - ipmi::message::makeResponse
  - ipmi::Context
  - ipmi::Context
  - '& operator=(const Context&)'
  - ipmi::Context
  - '& operator=(Context&&)'
  - ipmi::Context
  - ipmi::message::Payload
  - ipmi::message::Payload
  - '& operator=(const Payload&)'
  - ipmi::message::Payload
  - '& operator=(Payload&&)'
  - ipmi::message::Payload
  - ~Payload()
  - ipmi::message::size
  - ipmi::message::resize
  - ipmi::message::data
  - ipmi::message::data
  - ipmi::message::append
  - ipmi::message::appendBits
  - ipmi::message::drain
  - ipmi::message::pack
  - ipmi::message::pack
  - ipmi::message::prepend
  - ipmi::message::pop
  - ipmi::message::fillBits
  - ipmi::message::popBits
  - ipmi::message::discardBits
  - ipmi::message::reset
  - ipmi::message::fullyUnpacked
  - ipmi::message::unpack
  - ipmi::message::unpack
  - ipmi::message::unpack
  - ipmi::message::Response
  - ipmi::message::Response
  - '& operator=(const Response&)'
  - ipmi::message::Response
  - '& operator=(Response&&)'
  - ~Response()
  - ipmi::message::Response
  - ipmi::message::pack
  - ipmi::message::pack
  - ipmi::message::prepend
  - ipmi::message::Request
  - ipmi::message::Request
  - '& operator=(const Request&)'
  - ipmi::message::Request
  - '& operator=(Request&&)'
  - ~Request()
  - ipmi::message::Request
  - ipmi::message::unpack
  - ipmi::message::unpack
  - ipmi::message::makeResponse
  - ipmi::message::Payload
  - ipmi::message::Payload
  - '& operator=(const Payload&)'
  - ipmi::message::Payload
  - '& operator=(Payload&&)'
  - ipmi::message::Payload
  - ~Payload()
  - ipmi::message::size
  - ipmi::message::resize
  - ipmi::message::data
  - ipmi::message::data
  - ipmi::message::append
  - ipmi::message::appendBits
  - ipmi::message::drain
  - ipmi::message::pack
  - ipmi::message::pack
  - ipmi::message::prepend
  - ipmi::message::pop
  - ipmi::message::fillBits
  - ipmi::message::popBits
  - ipmi::message::discardBits
  - ipmi::message::reset
  - ipmi::message::fullyUnpacked
  - ipmi::message::unpack
  - ipmi::message::unpack
  - ipmi::message::unpack
  - ipmi::message::Response
  - ipmi::message::Response
  - '& operator=(const Response&)'
  - ipmi::message::Response
  - '& operator=(Response&&)'
  - ~Response()
  - ipmi::message::Response
  - ipmi::message::pack
  - ipmi::message::pack
  - ipmi::message::prepend
  - ipmi::message::Request
  - ipmi::message::Request
  - '& operator=(const Request&)'
  - ipmi::message::Request
  - '& operator=(Request&&)'
  - ~Request()
  - ipmi::message::Request
  - ipmi::message::unpack
  - ipmi::message::unpack
  - ipmi::message::makeResponse
  source_file: /src/phosphor-host-ipmid/include/ipmid/message.hpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: bus
        type: std::shared_ptr<sdbusplus::asio::connection>
      - name: netFn
        type: NetFn
      - name: lun
        type: uint8_t
      - name: cmd
        type: Cmd
      - name: channel
        type: int
      - name: userId
        type: int
      - name: sessionId
        type: uint32_t
      - name: priv
        type: Privilege
      - name: group
        type: Group
      - name: rqSA
        type: int
      - name: hostIdx
        type: int
      - name: yield
        type: boost::asio::yield_context
      item_type: struct
      name: Context
      pos:
        line_end: 70
        line_start: 35
        source_file: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    - fields:
      - name: bitStream
        type: fixed_uint_t<details::bitStreamSize>
      - name: bitCount
        type: size_t
      - name: raw
        type: SecureBuffer
      - name: rawIndex
        type: size_t
      - name: trailingOk
        type: bool
      - name: unpackCheck
        type: bool
      - name: unpackError
        type: bool
      item_type: struct
      name: Payload
      pos:
        line_end: 488
        line_start: 111
        source_file: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    - fields:
      - name: payload
        type: Payload
      - name: ctx
        type: Context::ptr
      - name: cc
        type: Cc
      item_type: struct
      name: Response
      pos:
        line_end: 570
        line_start: 496
        source_file: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    - fields:
      - name: payload
        type: Payload
      - name: ctx
        type: Context::ptr
      item_type: struct
      name: Request
      pos:
        line_end: 659
        line_start: 577
        source_file: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    - fields:
      - name: bitStream
        type: fixed_uint_t<details::bitStreamSize>
      - name: bitCount
        type: size_t
      - name: raw
        type: SecureBuffer
      - name: rawIndex
        type: size_t
      - name: trailingOk
        type: bool
      - name: unpackCheck
        type: bool
      - name: unpackError
        type: bool
      item_type: struct
      name: Payload
      pos:
        line_end: 488
        line_start: 111
        source_file: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    - fields:
      - name: payload
        type: Payload
      - name: ctx
        type: Context::ptr
      - name: cc
        type: Cc
      item_type: struct
      name: Response
      pos:
        line_end: 570
        line_start: 496
        source_file: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    - fields:
      - name: payload
        type: Payload
      - name: ctx
        type: Context::ptr
      item_type: struct
      name: Request
      pos:
        line_end: 659
        line_start: 577
        source_file: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    - fields:
      - name: bus
        type: std::shared_ptr<sdbusplus::asio::connection>
      - name: netFn
        type: NetFn
      - name: lun
        type: uint8_t
      - name: cmd
        type: Cmd
      - name: channel
        type: int
      - name: userId
        type: int
      - name: sessionId
        type: uint32_t
      - name: priv
        type: Privilege
      - name: group
        type: Group
      - name: rqSA
        type: int
      - name: hostIdx
        type: int
      - name: yield
        type: boost::asio::yield_context
      item_type: struct
      name: Context
      pos:
        line_end: 70
        line_start: 35
        source_file: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    - fields:
      - name: bitStream
        type: fixed_uint_t<details::bitStreamSize>
      - name: bitCount
        type: size_t
      - name: raw
        type: SecureBuffer
      - name: rawIndex
        type: size_t
      - name: trailingOk
        type: bool
      - name: unpackCheck
        type: bool
      - name: unpackError
        type: bool
      item_type: struct
      name: Payload
      pos:
        line_end: 488
        line_start: 111
        source_file: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    - fields:
      - name: payload
        type: Payload
      - name: ctx
        type: Context::ptr
      - name: cc
        type: Cc
      item_type: struct
      name: Response
      pos:
        line_end: 570
        line_start: 496
        source_file: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    - fields:
      - name: payload
        type: Payload
      - name: ctx
        type: Context::ptr
      item_type: struct
      name: Request
      pos:
        line_end: 659
        line_start: 577
        source_file: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    - fields:
      - name: bitStream
        type: fixed_uint_t<details::bitStreamSize>
      - name: bitCount
        type: size_t
      - name: raw
        type: SecureBuffer
      - name: rawIndex
        type: size_t
      - name: trailingOk
        type: bool
      - name: unpackCheck
        type: bool
      - name: unpackError
        type: bool
      item_type: struct
      name: Payload
      pos:
        line_end: 488
        line_start: 111
        source_file: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    - fields:
      - name: payload
        type: Payload
      - name: ctx
        type: Context::ptr
      - name: cc
        type: Cc
      item_type: struct
      name: Response
      pos:
        line_end: 570
        line_start: 496
        source_file: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    - fields:
      - name: payload
        type: Payload
      - name: ctx
        type: Context::ptr
      item_type: struct
      name: Request
      pos:
        line_end: 659
        line_start: 577
        source_file: /src/phosphor-host-ipmid/include/ipmid/message.hpp
    typedefs: []
    union: []
- function_names:
  - parseCloseSessionInputPayload
  - isSessionObjectMatched
  source_file: /src/phosphor-host-ipmid/include/ipmid/sessionhelper.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ~Router()
  - oem::toOemNumber
  - oem::toOemNumber
  - oem::toOemGroup
  - ~Router()
  - oem::toOemNumber
  - oem::toOemNumber
  - oem::toOemGroup
  source_file: /src/phosphor-host-ipmid/include/ipmid/oemrouter.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - operator|(Mutability lhs, Mutability rhs)
  - operator&(Mutability lhs, Mutability rhs)
  - operator|(Mutability lhs, Mutability rhs)
  - operator&(Mutability lhs, Mutability rhs)
  - ipmi::SecureAllocator::deallocate
  - ipmi::SecureString::SecureString
  - ipmi::SecureString::SecureString
  - ipmi::SecureString::SecureString
  - ipmi::SecureString::SecureString
  - '& operator=(SecureString&&)'
  - '& operator=(const SecureString&)'
  - ~SecureString()
  - ipmi::SecureBuffer::SecureBuffer
  - ipmi::SecureBuffer::SecureBuffer
  - ipmi::SecureBuffer::SecureBuffer
  - ipmi::SecureBuffer::SecureBuffer
  - '& operator=(SecureBuffer&&)'
  - '& operator=(const SecureBuffer&)'
  - ~SecureBuffer()
  - operator|(Mutability lhs, Mutability rhs)
  - operator&(Mutability lhs, Mutability rhs)
  - operator|(Mutability lhs, Mutability rhs)
  - operator&(Mutability lhs, Mutability rhs)
  - ipmi::SecureAllocator::deallocate
  - ipmi::SecureString::SecureString
  - ipmi::SecureString::SecureString
  - ipmi::SecureString::SecureString
  - ipmi::SecureString::SecureString
  - '& operator=(SecureString&&)'
  - '& operator=(const SecureString&)'
  - ~SecureString()
  - ipmi::SecureBuffer::SecureBuffer
  - ipmi::SecureBuffer::SecureBuffer
  - ipmi::SecureBuffer::SecureBuffer
  - ipmi::SecureBuffer::SecureBuffer
  - '& operator=(SecureBuffer&&)'
  - '& operator=(const SecureBuffer&)'
  - ~SecureBuffer()
  source_file: /src/phosphor-host-ipmid/include/ipmid/types.hpp
  types:
    enum:
    - enumerators:
      - name: NONE
      - name: DEASSERT
      - name: ASSERT
      item_type: enum
      name: SkipAssertion
      pos:
        line_end: 54
        line_start: 49
        source_file: /src/phosphor-host-ipmid/include/ipmid/types.hpp
    - enumerators:
      - name: Read
        value: 1 << 0
      - name: Write
        value: 1 << 1
      item_type: enum
      name: Mutability
      pos:
        line_end: 145
        line_start: 141
        source_file: /src/phosphor-host-ipmid/include/ipmid/types.hpp
    - enumerators:
      - name: NON_CRITICAL_LOW_MASK
        value: '0x01'
      - name: NON_RECOVERABLE_LOW_MASK
        value: '0x4'
      - name: CRITICAL_HIGH_MASK
        value: '0x10'
      - name: NON_CRITICAL_HIGH_MASK
        value: '0x08'
      - name: CRITICAL_LOW_MASK
        value: '0x02'
      - name: NON_RECOVERABLE_HIGH_MASK
        value: '0x20'
      item_type: enum
      name: ThresholdMask
      pos:
        line_end: 222
        line_start: 214
        source_file: /src/phosphor-host-ipmid/include/ipmid/types.hpp
    - enumerators:
      - name: NONE
      - name: DEASSERT
      - name: ASSERT
      item_type: enum
      name: SkipAssertion
      pos:
        line_end: 54
        line_start: 49
        source_file: /src/phosphor-host-ipmid/include/ipmid/types.hpp
    - enumerators:
      - name: Read
        value: 1 << 0
      - name: Write
        value: 1 << 1
      item_type: enum
      name: Mutability
      pos:
        line_end: 145
        line_start: 141
        source_file: /src/phosphor-host-ipmid/include/ipmid/types.hpp
    - enumerators:
      - name: NON_CRITICAL_LOW_MASK
        value: '0x01'
      - name: NON_RECOVERABLE_LOW_MASK
        value: '0x4'
      - name: CRITICAL_HIGH_MASK
        value: '0x10'
      - name: NON_CRITICAL_HIGH_MASK
        value: '0x08'
      - name: CRITICAL_LOW_MASK
        value: '0x02'
      - name: NON_RECOVERABLE_HIGH_MASK
        value: '0x20'
      item_type: enum
      name: ThresholdMask
      pos:
        line_end: 222
        line_start: 214
        source_file: /src/phosphor-host-ipmid/include/ipmid/types.hpp
    - enumerators:
      - name: NONE
      - name: DEASSERT
      - name: ASSERT
      item_type: enum
      name: SkipAssertion
      pos:
        line_end: 54
        line_start: 49
        source_file: /src/phosphor-host-ipmid/include/ipmid/types.hpp
    - enumerators:
      - name: Read
        value: 1 << 0
      - name: Write
        value: 1 << 1
      item_type: enum
      name: Mutability
      pos:
        line_end: 145
        line_start: 141
        source_file: /src/phosphor-host-ipmid/include/ipmid/types.hpp
    - enumerators:
      - name: NON_CRITICAL_LOW_MASK
        value: '0x01'
      - name: NON_RECOVERABLE_LOW_MASK
        value: '0x4'
      - name: CRITICAL_HIGH_MASK
        value: '0x10'
      - name: NON_CRITICAL_HIGH_MASK
        value: '0x08'
      - name: CRITICAL_LOW_MASK
        value: '0x02'
      - name: NON_RECOVERABLE_HIGH_MASK
        value: '0x20'
      item_type: enum
      name: ThresholdMask
      pos:
        line_end: 222
        line_start: 214
        source_file: /src/phosphor-host-ipmid/include/ipmid/types.hpp
    - enumerators:
      - name: NONE
      - name: DEASSERT
      - name: ASSERT
      item_type: enum
      name: SkipAssertion
      pos:
        line_end: 54
        line_start: 49
        source_file: /src/phosphor-host-ipmid/include/ipmid/types.hpp
    - enumerators:
      - name: Read
        value: 1 << 0
      - name: Write
        value: 1 << 1
      item_type: enum
      name: Mutability
      pos:
        line_end: 145
        line_start: 141
        source_file: /src/phosphor-host-ipmid/include/ipmid/types.hpp
    - enumerators:
      - name: NON_CRITICAL_LOW_MASK
        value: '0x01'
      - name: NON_RECOVERABLE_LOW_MASK
        value: '0x4'
      - name: CRITICAL_HIGH_MASK
        value: '0x10'
      - name: NON_CRITICAL_HIGH_MASK
        value: '0x08'
      - name: CRITICAL_LOW_MASK
        value: '0x02'
      - name: NON_RECOVERABLE_HIGH_MASK
        value: '0x20'
      item_type: enum
      name: ThresholdMask
      pos:
        line_end: 222
        line_start: 214
        source_file: /src/phosphor-host-ipmid/include/ipmid/types.hpp
    preproc_defs: []
    structs:
    - fields:
      - name: skip
        type: SkipAssertion
      - name: assert
        type: Value
      - name: deassert
        type: Value
      item_type: struct
      name: Values
      pos:
        line_end: 61
        line_start: 56
        source_file: /src/phosphor-host-ipmid/include/ipmid/types.hpp
    - fields:
      - name: assert
        type: Value
      - name: deassert
        type: Value
      item_type: struct
      name: PreReqValues
      pos:
        line_end: 71
        line_start: 67
        source_file: /src/phosphor-host-ipmid/include/ipmid/types.hpp
    - fields:
      - name: number
        type: uint8_t
      - name: operation
        type: uint8_t
      - name: reading
        type: uint8_t
      - name: assertOffset0_7
        type: uint8_t
      - name: assertOffset8_14
        type: uint8_t
      - name: deassertOffset0_7
        type: uint8_t
      - name: deassertOffset8_14
        type: uint8_t
      - name: eventData1
        type: uint8_t
      - name: eventData2
        type: uint8_t
      - name: eventData3
        type: uint8_t
      item_type: struct
      name: SetSensorReadingReq
      pos:
        line_end: 92
        line_start: 80
        source_file: /src/phosphor-host-ipmid/include/ipmid/types.hpp
    - fields:
      - name: reading
        type: uint8_t
      - name: operation
        type: uint8_t
      - name: assertOffset0_7
        type: uint8_t
      - name: assertOffset8_14
        type: uint8_t
      item_type: struct
      name: GetReadingResponse
      pos:
        line_end: 105
        line_start: 99
        source_file: /src/phosphor-host-ipmid/include/ipmid/types.hpp
    - fields:
      - name: reading
        type: uint8_t
      - name: readingOrStateUnavailable
        type: bool
      - name: scanningEnabled
        type: bool
      - name: allEventMessagesEnabled
        type: bool
      - name: thresholdLevelsStates
        type: uint8_t
      - name: discreteReadingSensorStates
        type: uint8_t
      item_type: struct
      name: GetSensorResponse
      pos:
        line_end: 117
        line_start: 109
        source_file: /src/phosphor-host-ipmid/include/ipmid/types.hpp
    - fields:
      - name: entityType
        type: EntityType
      - name: instance
        type: EntityInst
      - name: sensorType
        type: Type
      - name: sensorPath
        type: InstancePath
      - name: sensorInterface
        type: DbusInterface
      - name: sensorReadingType
        type: ReadingType
      - name: coefficientM
        type: Multiplier
      - name: coefficientB
        type: OffsetB
      - name: exponentB
        type: Exponent
      - name: scaledOffset
        type: ScaledOffset
      - name: exponentR
        type: Exponent
      - name: hasScale
        type: bool
      - name: scale
        type: Scale
      - name: sensorUnits1
        type: SensorUnits1
      - name: unit
        type: Unit
      - name: updateFunc
        type: std::function<uint8_t(SetSensorReadingReq&, const Info&)>
      - name: mutability
        type: Mutability
      - name: sensorName
        type: SensorName
      - name: sensorNameFunc
        type: std::function<SensorName(const Info&)>
      - name: propertyInterfaces
        type: DbusInterfaceMap
      item_type: struct
      name: Info
      pos:
        line_end: 188
        line_start: 159
        source_file: /src/phosphor-host-ipmid/include/ipmid/types.hpp
    - fields:
      - name: sensorID
        type: Id
      - name: sensorType
        type: Type
      - name: eventReadingType
        type: ReadingType
      - name: eventOffset
        type: Offset
      item_type: struct
      name: SelData
      pos:
        line_end: 208
        line_start: 202
        source_file: /src/phosphor-host-ipmid/include/ipmid/types.hpp
    - fields:
      - name: containerEntityId
        type: uint8_t
      - name: containerEntityInstance
        type: uint8_t
      - name: isList
        type: bool
      - name: isLinked
        type: bool
      - name: containedEntities
        type: ContainedEntitiesArray
      item_type: struct
      name: EntityInfo
      pos:
        line_end: 235
        line_start: 228
        source_file: /src/phosphor-host-ipmid/include/ipmid/types.hpp
    - fields:
      - name: value
        type: double
      - name: available
        type: bool
      - name: functional
        type: bool
      - name: response
        type: GetSensorResponse
      item_type: struct
      name: SensorData
      pos:
        line_end: 251
        line_start: 245
        source_file: /src/phosphor-host-ipmid/include/ipmid/types.hpp
    - fields:
      - name: skip
        type: SkipAssertion
      - name: assert
        type: Value
      - name: deassert
        type: Value
      item_type: struct
      name: Values
      pos:
        line_end: 61
        line_start: 56
        source_file: /src/phosphor-host-ipmid/include/ipmid/types.hpp
    - fields:
      - name: assert
        type: Value
      - name: deassert
        type: Value
      item_type: struct
      name: PreReqValues
      pos:
        line_end: 71
        line_start: 67
        source_file: /src/phosphor-host-ipmid/include/ipmid/types.hpp
    - fields:
      - name: number
        type: uint8_t
      - name: operation
        type: uint8_t
      - name: reading
        type: uint8_t
      - name: assertOffset0_7
        type: uint8_t
      - name: assertOffset8_14
        type: uint8_t
      - name: deassertOffset0_7
        type: uint8_t
      - name: deassertOffset8_14
        type: uint8_t
      - name: eventData1
        type: uint8_t
      - name: eventData2
        type: uint8_t
      - name: eventData3
        type: uint8_t
      item_type: struct
      name: SetSensorReadingReq
      pos:
        line_end: 92
        line_start: 80
        source_file: /src/phosphor-host-ipmid/include/ipmid/types.hpp
    - fields:
      - name: reading
        type: uint8_t
      - name: operation
        type: uint8_t
      - name: assertOffset0_7
        type: uint8_t
      - name: assertOffset8_14
        type: uint8_t
      item_type: struct
      name: GetReadingResponse
      pos:
        line_end: 105
        line_start: 99
        source_file: /src/phosphor-host-ipmid/include/ipmid/types.hpp
    - fields:
      - name: reading
        type: uint8_t
      - name: readingOrStateUnavailable
        type: bool
      - name: scanningEnabled
        type: bool
      - name: allEventMessagesEnabled
        type: bool
      - name: thresholdLevelsStates
        type: uint8_t
      - name: discreteReadingSensorStates
        type: uint8_t
      item_type: struct
      name: GetSensorResponse
      pos:
        line_end: 117
        line_start: 109
        source_file: /src/phosphor-host-ipmid/include/ipmid/types.hpp
    - fields:
      - name: entityType
        type: EntityType
      - name: instance
        type: EntityInst
      - name: sensorType
        type: Type
      - name: sensorPath
        type: InstancePath
      - name: sensorInterface
        type: DbusInterface
      - name: sensorReadingType
        type: ReadingType
      - name: coefficientM
        type: Multiplier
      - name: coefficientB
        type: OffsetB
      - name: exponentB
        type: Exponent
      - name: scaledOffset
        type: ScaledOffset
      - name: exponentR
        type: Exponent
      - name: hasScale
        type: bool
      - name: scale
        type: Scale
      - name: sensorUnits1
        type: SensorUnits1
      - name: unit
        type: Unit
      - name: updateFunc
        type: std::function<uint8_t(SetSensorReadingReq&, const Info&)>
      - name: mutability
        type: Mutability
      - name: sensorName
        type: SensorName
      - name: sensorNameFunc
        type: std::function<SensorName(const Info&)>
      - name: propertyInterfaces
        type: DbusInterfaceMap
      item_type: struct
      name: Info
      pos:
        line_end: 188
        line_start: 159
        source_file: /src/phosphor-host-ipmid/include/ipmid/types.hpp
    - fields:
      - name: sensorID
        type: Id
      - name: sensorType
        type: Type
      - name: eventReadingType
        type: ReadingType
      - name: eventOffset
        type: Offset
      item_type: struct
      name: SelData
      pos:
        line_end: 208
        line_start: 202
        source_file: /src/phosphor-host-ipmid/include/ipmid/types.hpp
    - fields:
      - name: containerEntityId
        type: uint8_t
      - name: containerEntityInstance
        type: uint8_t
      - name: isList
        type: bool
      - name: isLinked
        type: bool
      - name: containedEntities
        type: ContainedEntitiesArray
      item_type: struct
      name: EntityInfo
      pos:
        line_end: 235
        line_start: 228
        source_file: /src/phosphor-host-ipmid/include/ipmid/types.hpp
    - fields:
      - name: value
        type: double
      - name: available
        type: bool
      - name: functional
        type: bool
      - name: response
        type: GetSensorResponse
      item_type: struct
      name: SensorData
      pos:
        line_end: 251
        line_start: 245
        source_file: /src/phosphor-host-ipmid/include/ipmid/types.hpp
    - fields: []
      item_type: struct
      name: rebind
      pos:
        line_end: 278
        line_start: 275
        source_file: /src/phosphor-host-ipmid/include/ipmid/types.hpp
    - fields:
      - name: skip
        type: SkipAssertion
      - name: assert
        type: Value
      - name: deassert
        type: Value
      item_type: struct
      name: Values
      pos:
        line_end: 61
        line_start: 56
        source_file: /src/phosphor-host-ipmid/include/ipmid/types.hpp
    - fields:
      - name: assert
        type: Value
      - name: deassert
        type: Value
      item_type: struct
      name: PreReqValues
      pos:
        line_end: 71
        line_start: 67
        source_file: /src/phosphor-host-ipmid/include/ipmid/types.hpp
    - fields:
      - name: number
        type: uint8_t
      - name: operation
        type: uint8_t
      - name: reading
        type: uint8_t
      - name: assertOffset0_7
        type: uint8_t
      - name: assertOffset8_14
        type: uint8_t
      - name: deassertOffset0_7
        type: uint8_t
      - name: deassertOffset8_14
        type: uint8_t
      - name: eventData1
        type: uint8_t
      - name: eventData2
        type: uint8_t
      - name: eventData3
        type: uint8_t
      item_type: struct
      name: SetSensorReadingReq
      pos:
        line_end: 92
        line_start: 80
        source_file: /src/phosphor-host-ipmid/include/ipmid/types.hpp
    - fields:
      - name: reading
        type: uint8_t
      - name: operation
        type: uint8_t
      - name: assertOffset0_7
        type: uint8_t
      - name: assertOffset8_14
        type: uint8_t
      item_type: struct
      name: GetReadingResponse
      pos:
        line_end: 105
        line_start: 99
        source_file: /src/phosphor-host-ipmid/include/ipmid/types.hpp
    - fields:
      - name: reading
        type: uint8_t
      - name: readingOrStateUnavailable
        type: bool
      - name: scanningEnabled
        type: bool
      - name: allEventMessagesEnabled
        type: bool
      - name: thresholdLevelsStates
        type: uint8_t
      - name: discreteReadingSensorStates
        type: uint8_t
      item_type: struct
      name: GetSensorResponse
      pos:
        line_end: 117
        line_start: 109
        source_file: /src/phosphor-host-ipmid/include/ipmid/types.hpp
    - fields:
      - name: entityType
        type: EntityType
      - name: instance
        type: EntityInst
      - name: sensorType
        type: Type
      - name: sensorPath
        type: InstancePath
      - name: sensorInterface
        type: DbusInterface
      - name: sensorReadingType
        type: ReadingType
      - name: coefficientM
        type: Multiplier
      - name: coefficientB
        type: OffsetB
      - name: exponentB
        type: Exponent
      - name: scaledOffset
        type: ScaledOffset
      - name: exponentR
        type: Exponent
      - name: hasScale
        type: bool
      - name: scale
        type: Scale
      - name: sensorUnits1
        type: SensorUnits1
      - name: unit
        type: Unit
      - name: updateFunc
        type: std::function<uint8_t(SetSensorReadingReq&, const Info&)>
      - name: mutability
        type: Mutability
      - name: sensorName
        type: SensorName
      - name: sensorNameFunc
        type: std::function<SensorName(const Info&)>
      - name: propertyInterfaces
        type: DbusInterfaceMap
      item_type: struct
      name: Info
      pos:
        line_end: 188
        line_start: 159
        source_file: /src/phosphor-host-ipmid/include/ipmid/types.hpp
    - fields:
      - name: sensorID
        type: Id
      - name: sensorType
        type: Type
      - name: eventReadingType
        type: ReadingType
      - name: eventOffset
        type: Offset
      item_type: struct
      name: SelData
      pos:
        line_end: 208
        line_start: 202
        source_file: /src/phosphor-host-ipmid/include/ipmid/types.hpp
    - fields:
      - name: containerEntityId
        type: uint8_t
      - name: containerEntityInstance
        type: uint8_t
      - name: isList
        type: bool
      - name: isLinked
        type: bool
      - name: containedEntities
        type: ContainedEntitiesArray
      item_type: struct
      name: EntityInfo
      pos:
        line_end: 235
        line_start: 228
        source_file: /src/phosphor-host-ipmid/include/ipmid/types.hpp
    - fields:
      - name: value
        type: double
      - name: available
        type: bool
      - name: functional
        type: bool
      - name: response
        type: GetSensorResponse
      item_type: struct
      name: SensorData
      pos:
        line_end: 251
        line_start: 245
        source_file: /src/phosphor-host-ipmid/include/ipmid/types.hpp
    - fields:
      - name: skip
        type: SkipAssertion
      - name: assert
        type: Value
      - name: deassert
        type: Value
      item_type: struct
      name: Values
      pos:
        line_end: 61
        line_start: 56
        source_file: /src/phosphor-host-ipmid/include/ipmid/types.hpp
    - fields:
      - name: assert
        type: Value
      - name: deassert
        type: Value
      item_type: struct
      name: PreReqValues
      pos:
        line_end: 71
        line_start: 67
        source_file: /src/phosphor-host-ipmid/include/ipmid/types.hpp
    - fields:
      - name: number
        type: uint8_t
      - name: operation
        type: uint8_t
      - name: reading
        type: uint8_t
      - name: assertOffset0_7
        type: uint8_t
      - name: assertOffset8_14
        type: uint8_t
      - name: deassertOffset0_7
        type: uint8_t
      - name: deassertOffset8_14
        type: uint8_t
      - name: eventData1
        type: uint8_t
      - name: eventData2
        type: uint8_t
      - name: eventData3
        type: uint8_t
      item_type: struct
      name: SetSensorReadingReq
      pos:
        line_end: 92
        line_start: 80
        source_file: /src/phosphor-host-ipmid/include/ipmid/types.hpp
    - fields:
      - name: reading
        type: uint8_t
      - name: operation
        type: uint8_t
      - name: assertOffset0_7
        type: uint8_t
      - name: assertOffset8_14
        type: uint8_t
      item_type: struct
      name: GetReadingResponse
      pos:
        line_end: 105
        line_start: 99
        source_file: /src/phosphor-host-ipmid/include/ipmid/types.hpp
    - fields:
      - name: reading
        type: uint8_t
      - name: readingOrStateUnavailable
        type: bool
      - name: scanningEnabled
        type: bool
      - name: allEventMessagesEnabled
        type: bool
      - name: thresholdLevelsStates
        type: uint8_t
      - name: discreteReadingSensorStates
        type: uint8_t
      item_type: struct
      name: GetSensorResponse
      pos:
        line_end: 117
        line_start: 109
        source_file: /src/phosphor-host-ipmid/include/ipmid/types.hpp
    - fields:
      - name: entityType
        type: EntityType
      - name: instance
        type: EntityInst
      - name: sensorType
        type: Type
      - name: sensorPath
        type: InstancePath
      - name: sensorInterface
        type: DbusInterface
      - name: sensorReadingType
        type: ReadingType
      - name: coefficientM
        type: Multiplier
      - name: coefficientB
        type: OffsetB
      - name: exponentB
        type: Exponent
      - name: scaledOffset
        type: ScaledOffset
      - name: exponentR
        type: Exponent
      - name: hasScale
        type: bool
      - name: scale
        type: Scale
      - name: sensorUnits1
        type: SensorUnits1
      - name: unit
        type: Unit
      - name: updateFunc
        type: std::function<uint8_t(SetSensorReadingReq&, const Info&)>
      - name: mutability
        type: Mutability
      - name: sensorName
        type: SensorName
      - name: sensorNameFunc
        type: std::function<SensorName(const Info&)>
      - name: propertyInterfaces
        type: DbusInterfaceMap
      item_type: struct
      name: Info
      pos:
        line_end: 188
        line_start: 159
        source_file: /src/phosphor-host-ipmid/include/ipmid/types.hpp
    - fields:
      - name: sensorID
        type: Id
      - name: sensorType
        type: Type
      - name: eventReadingType
        type: ReadingType
      - name: eventOffset
        type: Offset
      item_type: struct
      name: SelData
      pos:
        line_end: 208
        line_start: 202
        source_file: /src/phosphor-host-ipmid/include/ipmid/types.hpp
    - fields:
      - name: containerEntityId
        type: uint8_t
      - name: containerEntityInstance
        type: uint8_t
      - name: isList
        type: bool
      - name: isLinked
        type: bool
      - name: containedEntities
        type: ContainedEntitiesArray
      item_type: struct
      name: EntityInfo
      pos:
        line_end: 235
        line_start: 228
        source_file: /src/phosphor-host-ipmid/include/ipmid/types.hpp
    - fields:
      - name: value
        type: double
      - name: available
        type: bool
      - name: functional
        type: bool
      - name: response
        type: GetSensorResponse
      item_type: struct
      name: SensorData
      pos:
        line_end: 251
        line_start: 245
        source_file: /src/phosphor-host-ipmid/include/ipmid/types.hpp
    - fields: []
      item_type: struct
      name: rebind
      pos:
        line_end: 278
        line_start: 275
        source_file: /src/phosphor-host-ipmid/include/ipmid/types.hpp
    typedefs:
    - item_type: typedef
      name: other
      pos:
        line_end: 277
        line_start: 277
        source_file: /src/phosphor-host-ipmid/include/ipmid/types.hpp
      type: SecureAllocator
    - item_type: typedef
      name: other
      pos:
        line_end: 277
        line_start: 277
        source_file: /src/phosphor-host-ipmid/include/ipmid/types.hpp
      type: SecureAllocator
    union: []
- function_names: []
  source_file: /src/phosphor-host-ipmid/include/ipmid/sessiondef.hpp
  types:
    enum:
    - enumerators:
      - name: inactive
      - name: setupInProgress
      - name: active
      - name: tearDownInProgress
      item_type: enum
      name: State
      pos:
        line_end: 52
        line_start: 46
        source_file: /src/phosphor-host-ipmid/include/ipmid/sessiondef.hpp
    - enumerators:
      - name: inactive
      - name: setupInProgress
      - name: active
      - name: tearDownInProgress
      item_type: enum
      name: State
      pos:
        line_end: 52
        line_start: 46
        source_file: /src/phosphor-host-ipmid/include/ipmid/sessiondef.hpp
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ipmi::getDbusObject
  - ipmi::getDbusObject
  - ipmi::getDbusProperty
  - ipmi::getAllDbusObjects
  - ipmi::mappedVariant
  - "operator()(\n        const T& t) const"
  - "operator()(\n        const T&) const"
  - ipmi::callDbusMethod
  - ipmi::callDbusMethod
  - ipmi::tryParse
  - ipmi::getDbusObject
  - ipmi::getDbusObject
  - ipmi::getDbusProperty
  - ipmi::getAllDbusObjects
  - ipmi::mappedVariant
  - "operator()(\n        const T& t) const"
  - "operator()(\n        const T&) const"
  - ipmi::callDbusMethod
  - ipmi::callDbusMethod
  - ipmi::tryParse
  source_file: /src/phosphor-host-ipmid/include/ipmid/utils.hpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields: []
      item_type: struct
      name: VariantToDoubleVisitor
      pos:
        line_end: 403
        line_start: 388
        source_file: /src/phosphor-host-ipmid/include/ipmid/utils.hpp
    - fields: []
      item_type: struct
      name: VariantToDoubleVisitor
      pos:
        line_end: 403
        line_start: 388
        source_file: /src/phosphor-host-ipmid/include/ipmid/utils.hpp
    typedefs: []
    union: []
- function_names:
  - ipmi::response
  - ipmi::response
  - ipmi::responseSuccess
  - ipmi::responseSuccess
  - ipmi::responseBusy
  - ipmi::responseInvalidCommand
  - ipmi::responseInvalidCommandOnLun
  - ipmi::responseTimeout
  - ipmi::responseOutOfSpace
  - ipmi::responseInvalidReservationId
  - ipmi::responseReqDataTruncated
  - ipmi::responseReqDataLenInvalid
  - ipmi::responseReqDataLenExceeded
  - ipmi::responseParmOutOfRange
  - ipmi::responseRetBytesUnavailable
  - ipmi::responseSensorInvalid
  - ipmi::responseInvalidFieldRequest
  - ipmi::responseIllegalCommand
  - ipmi::responseResponseError
  - ipmi::responseDuplicateRequest
  - ipmi::responseCmdFailSdrMode
  - ipmi::responseCmdFailFwUpdMode
  - ipmi::responseCmdFailInitAgent
  - ipmi::responseDestinationUnavailable
  - ipmi::responseInsufficientPrivilege
  - ipmi::responseCommandNotAvailable
  - ipmi::responseCommandDisabled
  - ipmi::responseUnspecifiedError
  - ipmi::response
  - ipmi::response
  - ipmi::responseSuccess
  - ipmi::responseSuccess
  - ipmi::responseBusy
  - ipmi::responseInvalidCommand
  - ipmi::responseInvalidCommandOnLun
  - ipmi::responseTimeout
  - ipmi::responseOutOfSpace
  - ipmi::responseInvalidReservationId
  - ipmi::responseReqDataTruncated
  - ipmi::responseReqDataLenInvalid
  - ipmi::responseReqDataLenExceeded
  - ipmi::responseParmOutOfRange
  - ipmi::responseRetBytesUnavailable
  - ipmi::responseSensorInvalid
  - ipmi::responseInvalidFieldRequest
  - ipmi::responseIllegalCommand
  - ipmi::responseResponseError
  - ipmi::responseDuplicateRequest
  - ipmi::responseCmdFailSdrMode
  - ipmi::responseCmdFailFwUpdMode
  - ipmi::responseCmdFailInitAgent
  - ipmi::responseDestinationUnavailable
  - ipmi::responseInsufficientPrivilege
  - ipmi::responseCommandNotAvailable
  - ipmi::responseCommandDisabled
  - ipmi::responseUnspecifiedError
  source_file: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp
  types:
    enum:
    - enumerators:
      - name: None
        value: '0x00'
      - name: Callback
      - name: User
      - name: Operator
      - name: Admin
      - name: Oem
      item_type: enum
      name: Privilege
      pos:
        line_end: 75
        line_start: 67
        source_file: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp
    - enumerators:
      - name: None
        value: '0x00'
      - name: Callback
      - name: User
      - name: Operator
      - name: Admin
      - name: Oem
      item_type: enum
      name: Privilege
      pos:
        line_end: 75
        line_start: 67
        source_file: /src/phosphor-host-ipmid/include/ipmid/api-types.hpp
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ipmi::message::details::UnpackBytes
  - ipmi::message::details::UnpackBytesUnaligned
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::UnpackBytes
  - ipmi::message::details::UnpackBytesUnaligned
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::UnpackBytes
  - ipmi::message::details::UnpackBytesUnaligned
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::UnpackBytes
  - ipmi::message::details::UnpackBytesUnaligned
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::UnpackBytes
  - ipmi::message::details::UnpackBytesUnaligned
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::UnpackBytes
  - ipmi::message::details::UnpackBytesUnaligned
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::UnpackBytes
  - ipmi::message::details::UnpackBytesUnaligned
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::UnpackBytes
  - ipmi::message::details::UnpackBytesUnaligned
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields: []
      item_type: struct
      name: UnpackSingle
      pos:
        line_end: 129
        line_start: 70
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle<std::string>
      pos:
        line_end: 158
        line_start: 138
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle<fixed_uint_t<N>>
      pos:
        line_end: 180
        line_start: 163
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle<bool>
      pos:
        line_end: 199
        line_start: 184
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle<std::bitset<N>>
      pos:
        line_end: 223
        line_start: 204
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle<std::optional<T>>
      pos:
        line_end: 252
        line_start: 227
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle<std::array<T, N>>
      pos:
        line_end: 274
        line_start: 256
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle<std::array<uint8_t, N>>
      pos:
        line_end: 293
        line_start: 278
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle<std::vector<T>>
      pos:
        line_end: 317
        line_start: 297
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle<std::vector<uint8_t>>
      pos:
        line_end: 331
        line_start: 321
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle<SecureBuffer>
      pos:
        line_end: 345
        line_start: 335
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle<std::span<const uint8_t>>
      pos:
        line_end: 358
        line_start: 349
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle<Payload>
      pos:
        line_end: 371
        line_start: 362
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle
      pos:
        line_end: 129
        line_start: 70
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle<std::string>
      pos:
        line_end: 158
        line_start: 138
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle<fixed_uint_t<N>>
      pos:
        line_end: 180
        line_start: 163
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle<bool>
      pos:
        line_end: 199
        line_start: 184
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle<std::bitset<N>>
      pos:
        line_end: 223
        line_start: 204
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle<std::optional<T>>
      pos:
        line_end: 252
        line_start: 227
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle<std::array<T, N>>
      pos:
        line_end: 274
        line_start: 256
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle<std::array<uint8_t, N>>
      pos:
        line_end: 293
        line_start: 278
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle<std::vector<T>>
      pos:
        line_end: 317
        line_start: 297
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle<std::vector<uint8_t>>
      pos:
        line_end: 331
        line_start: 321
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle<SecureBuffer>
      pos:
        line_end: 345
        line_start: 335
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle<std::span<const uint8_t>>
      pos:
        line_end: 358
        line_start: 349
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle<Payload>
      pos:
        line_end: 371
        line_start: 362
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle
      pos:
        line_end: 129
        line_start: 70
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle<std::string>
      pos:
        line_end: 158
        line_start: 138
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle<fixed_uint_t<N>>
      pos:
        line_end: 180
        line_start: 163
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle<bool>
      pos:
        line_end: 199
        line_start: 184
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle<std::bitset<N>>
      pos:
        line_end: 223
        line_start: 204
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle<std::optional<T>>
      pos:
        line_end: 252
        line_start: 227
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle<std::array<T, N>>
      pos:
        line_end: 274
        line_start: 256
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle<std::array<uint8_t, N>>
      pos:
        line_end: 293
        line_start: 278
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle<std::vector<T>>
      pos:
        line_end: 317
        line_start: 297
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle<std::vector<uint8_t>>
      pos:
        line_end: 331
        line_start: 321
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle<SecureBuffer>
      pos:
        line_end: 345
        line_start: 335
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle<std::span<const uint8_t>>
      pos:
        line_end: 358
        line_start: 349
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle<Payload>
      pos:
        line_end: 371
        line_start: 362
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle
      pos:
        line_end: 129
        line_start: 70
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle<std::string>
      pos:
        line_end: 158
        line_start: 138
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle<fixed_uint_t<N>>
      pos:
        line_end: 180
        line_start: 163
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle<bool>
      pos:
        line_end: 199
        line_start: 184
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle<std::bitset<N>>
      pos:
        line_end: 223
        line_start: 204
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle<std::optional<T>>
      pos:
        line_end: 252
        line_start: 227
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle<std::array<T, N>>
      pos:
        line_end: 274
        line_start: 256
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle<std::array<uint8_t, N>>
      pos:
        line_end: 293
        line_start: 278
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle<std::vector<T>>
      pos:
        line_end: 317
        line_start: 297
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle<std::vector<uint8_t>>
      pos:
        line_end: 331
        line_start: 321
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle<SecureBuffer>
      pos:
        line_end: 345
        line_start: 335
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle<std::span<const uint8_t>>
      pos:
        line_end: 358
        line_start: 349
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle<Payload>
      pos:
        line_end: 371
        line_start: 362
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle
      pos:
        line_end: 129
        line_start: 70
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle<std::string>
      pos:
        line_end: 158
        line_start: 138
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle<fixed_uint_t<N>>
      pos:
        line_end: 180
        line_start: 163
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle<bool>
      pos:
        line_end: 199
        line_start: 184
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle<std::bitset<N>>
      pos:
        line_end: 223
        line_start: 204
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle<std::optional<T>>
      pos:
        line_end: 252
        line_start: 227
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle<std::array<T, N>>
      pos:
        line_end: 274
        line_start: 256
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle<std::array<uint8_t, N>>
      pos:
        line_end: 293
        line_start: 278
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle<std::vector<T>>
      pos:
        line_end: 317
        line_start: 297
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle<std::vector<uint8_t>>
      pos:
        line_end: 331
        line_start: 321
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle<SecureBuffer>
      pos:
        line_end: 345
        line_start: 335
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle<std::span<const uint8_t>>
      pos:
        line_end: 358
        line_start: 349
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle<Payload>
      pos:
        line_end: 371
        line_start: 362
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle
      pos:
        line_end: 129
        line_start: 70
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle<std::string>
      pos:
        line_end: 158
        line_start: 138
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle<fixed_uint_t<N>>
      pos:
        line_end: 180
        line_start: 163
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle<bool>
      pos:
        line_end: 199
        line_start: 184
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle<std::bitset<N>>
      pos:
        line_end: 223
        line_start: 204
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle<std::optional<T>>
      pos:
        line_end: 252
        line_start: 227
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle<std::array<T, N>>
      pos:
        line_end: 274
        line_start: 256
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle<std::array<uint8_t, N>>
      pos:
        line_end: 293
        line_start: 278
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle<std::vector<T>>
      pos:
        line_end: 317
        line_start: 297
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle<std::vector<uint8_t>>
      pos:
        line_end: 331
        line_start: 321
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle<SecureBuffer>
      pos:
        line_end: 345
        line_start: 335
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle<std::span<const uint8_t>>
      pos:
        line_end: 358
        line_start: 349
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle<Payload>
      pos:
        line_end: 371
        line_start: 362
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle
      pos:
        line_end: 129
        line_start: 70
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle<std::string>
      pos:
        line_end: 158
        line_start: 138
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle<fixed_uint_t<N>>
      pos:
        line_end: 180
        line_start: 163
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle<bool>
      pos:
        line_end: 199
        line_start: 184
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle<std::bitset<N>>
      pos:
        line_end: 223
        line_start: 204
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle<std::optional<T>>
      pos:
        line_end: 252
        line_start: 227
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle<std::array<T, N>>
      pos:
        line_end: 274
        line_start: 256
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle<std::array<uint8_t, N>>
      pos:
        line_end: 293
        line_start: 278
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle<std::vector<T>>
      pos:
        line_end: 317
        line_start: 297
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle<std::vector<uint8_t>>
      pos:
        line_end: 331
        line_start: 321
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle<SecureBuffer>
      pos:
        line_end: 345
        line_start: 335
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle<std::span<const uint8_t>>
      pos:
        line_end: 358
        line_start: 349
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle<Payload>
      pos:
        line_end: 371
        line_start: 362
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle
      pos:
        line_end: 129
        line_start: 70
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle<std::string>
      pos:
        line_end: 158
        line_start: 138
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle<fixed_uint_t<N>>
      pos:
        line_end: 180
        line_start: 163
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle<bool>
      pos:
        line_end: 199
        line_start: 184
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle<std::bitset<N>>
      pos:
        line_end: 223
        line_start: 204
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle<std::optional<T>>
      pos:
        line_end: 252
        line_start: 227
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle<std::array<T, N>>
      pos:
        line_end: 274
        line_start: 256
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle<std::array<uint8_t, N>>
      pos:
        line_end: 293
        line_start: 278
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle<std::vector<T>>
      pos:
        line_end: 317
        line_start: 297
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle<std::vector<uint8_t>>
      pos:
        line_end: 331
        line_start: 321
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle<SecureBuffer>
      pos:
        line_end: 345
        line_start: 335
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle<std::span<const uint8_t>>
      pos:
        line_end: 358
        line_start: 349
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    - fields: []
      item_type: struct
      name: UnpackSingle<Payload>
      pos:
        line_end: 371
        line_start: 362
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/unpack.hpp
    typedefs: []
    union: []
- function_names:
  - ipmi::message::details::PackBytes
  - ipmi::message::details::PackBytesUnaligned
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::PackBytes
  - ipmi::message::details::PackBytesUnaligned
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::PackBytes
  - ipmi::message::details::PackBytesUnaligned
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::PackBytes
  - ipmi::message::details::PackBytesUnaligned
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::PackBytes
  - ipmi::message::details::PackBytesUnaligned
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::PackBytes
  - ipmi::message::details::PackBytesUnaligned
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::PackBytes
  - ipmi::message::details::PackBytesUnaligned
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::PackBytes
  - ipmi::message::details::PackBytesUnaligned
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  - ipmi::message::details::op
  source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields: []
      item_type: struct
      name: PackSingle
      pos:
        line_end: 99
        line_start: 74
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<std::tuple<T...>>
      pos:
        line_end: 110
        line_start: 103
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<std::string>
      pos:
        line_end: 132
        line_start: 116
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<fixed_uint_t<N>>
      pos:
        line_end: 155
        line_start: 137
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<bool>
      pos:
        line_end: 166
        line_start: 159
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<std::bitset<N>>
      pos:
        line_end: 186
        line_start: 170
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<std::optional<T>>
      pos:
        line_end: 201
        line_start: 190
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<std::array<T, N>>
      pos:
        line_end: 220
        line_start: 205
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<std::vector<T>>
      pos:
        line_end: 239
        line_start: 224
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<std::vector<uint8_t>>
      pos:
        line_end: 255
        line_start: 243
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<SecureBuffer>
      pos:
        line_end: 271
        line_start: 259
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<std::span<const uint8_t>>
      pos:
        line_end: 287
        line_start: 275
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<std::string_view>
      pos:
        line_end: 303
        line_start: 291
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<std::variant<T...>>
      pos:
        line_end: 317
        line_start: 307
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<Payload>
      pos:
        line_end: 333
        line_start: 321
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle
      pos:
        line_end: 99
        line_start: 74
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<std::tuple<T...>>
      pos:
        line_end: 110
        line_start: 103
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<std::string>
      pos:
        line_end: 132
        line_start: 116
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<fixed_uint_t<N>>
      pos:
        line_end: 155
        line_start: 137
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<bool>
      pos:
        line_end: 166
        line_start: 159
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<std::bitset<N>>
      pos:
        line_end: 186
        line_start: 170
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<std::optional<T>>
      pos:
        line_end: 201
        line_start: 190
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<std::array<T, N>>
      pos:
        line_end: 220
        line_start: 205
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<std::vector<T>>
      pos:
        line_end: 239
        line_start: 224
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<std::vector<uint8_t>>
      pos:
        line_end: 255
        line_start: 243
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<SecureBuffer>
      pos:
        line_end: 271
        line_start: 259
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<std::span<const uint8_t>>
      pos:
        line_end: 287
        line_start: 275
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<std::string_view>
      pos:
        line_end: 303
        line_start: 291
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<std::variant<T...>>
      pos:
        line_end: 317
        line_start: 307
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<Payload>
      pos:
        line_end: 333
        line_start: 321
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle
      pos:
        line_end: 99
        line_start: 74
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<std::tuple<T...>>
      pos:
        line_end: 110
        line_start: 103
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<std::string>
      pos:
        line_end: 132
        line_start: 116
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<fixed_uint_t<N>>
      pos:
        line_end: 155
        line_start: 137
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<bool>
      pos:
        line_end: 166
        line_start: 159
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<std::bitset<N>>
      pos:
        line_end: 186
        line_start: 170
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<std::optional<T>>
      pos:
        line_end: 201
        line_start: 190
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<std::array<T, N>>
      pos:
        line_end: 220
        line_start: 205
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<std::vector<T>>
      pos:
        line_end: 239
        line_start: 224
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<std::vector<uint8_t>>
      pos:
        line_end: 255
        line_start: 243
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<SecureBuffer>
      pos:
        line_end: 271
        line_start: 259
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<std::span<const uint8_t>>
      pos:
        line_end: 287
        line_start: 275
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<std::string_view>
      pos:
        line_end: 303
        line_start: 291
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<std::variant<T...>>
      pos:
        line_end: 317
        line_start: 307
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<Payload>
      pos:
        line_end: 333
        line_start: 321
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle
      pos:
        line_end: 99
        line_start: 74
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<std::tuple<T...>>
      pos:
        line_end: 110
        line_start: 103
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<std::string>
      pos:
        line_end: 132
        line_start: 116
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<fixed_uint_t<N>>
      pos:
        line_end: 155
        line_start: 137
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<bool>
      pos:
        line_end: 166
        line_start: 159
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<std::bitset<N>>
      pos:
        line_end: 186
        line_start: 170
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<std::optional<T>>
      pos:
        line_end: 201
        line_start: 190
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<std::array<T, N>>
      pos:
        line_end: 220
        line_start: 205
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<std::vector<T>>
      pos:
        line_end: 239
        line_start: 224
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<std::vector<uint8_t>>
      pos:
        line_end: 255
        line_start: 243
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<SecureBuffer>
      pos:
        line_end: 271
        line_start: 259
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<std::span<const uint8_t>>
      pos:
        line_end: 287
        line_start: 275
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<std::string_view>
      pos:
        line_end: 303
        line_start: 291
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<std::variant<T...>>
      pos:
        line_end: 317
        line_start: 307
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<Payload>
      pos:
        line_end: 333
        line_start: 321
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle
      pos:
        line_end: 99
        line_start: 74
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<std::tuple<T...>>
      pos:
        line_end: 110
        line_start: 103
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<std::string>
      pos:
        line_end: 132
        line_start: 116
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<fixed_uint_t<N>>
      pos:
        line_end: 155
        line_start: 137
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<bool>
      pos:
        line_end: 166
        line_start: 159
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<std::bitset<N>>
      pos:
        line_end: 186
        line_start: 170
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<std::optional<T>>
      pos:
        line_end: 201
        line_start: 190
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<std::array<T, N>>
      pos:
        line_end: 220
        line_start: 205
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<std::vector<T>>
      pos:
        line_end: 239
        line_start: 224
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<std::vector<uint8_t>>
      pos:
        line_end: 255
        line_start: 243
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<SecureBuffer>
      pos:
        line_end: 271
        line_start: 259
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<std::span<const uint8_t>>
      pos:
        line_end: 287
        line_start: 275
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<std::string_view>
      pos:
        line_end: 303
        line_start: 291
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<std::variant<T...>>
      pos:
        line_end: 317
        line_start: 307
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<Payload>
      pos:
        line_end: 333
        line_start: 321
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle
      pos:
        line_end: 99
        line_start: 74
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<std::tuple<T...>>
      pos:
        line_end: 110
        line_start: 103
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<std::string>
      pos:
        line_end: 132
        line_start: 116
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<fixed_uint_t<N>>
      pos:
        line_end: 155
        line_start: 137
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<bool>
      pos:
        line_end: 166
        line_start: 159
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<std::bitset<N>>
      pos:
        line_end: 186
        line_start: 170
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<std::optional<T>>
      pos:
        line_end: 201
        line_start: 190
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<std::array<T, N>>
      pos:
        line_end: 220
        line_start: 205
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<std::vector<T>>
      pos:
        line_end: 239
        line_start: 224
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<std::vector<uint8_t>>
      pos:
        line_end: 255
        line_start: 243
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<SecureBuffer>
      pos:
        line_end: 271
        line_start: 259
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<std::span<const uint8_t>>
      pos:
        line_end: 287
        line_start: 275
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<std::string_view>
      pos:
        line_end: 303
        line_start: 291
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<std::variant<T...>>
      pos:
        line_end: 317
        line_start: 307
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<Payload>
      pos:
        line_end: 333
        line_start: 321
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle
      pos:
        line_end: 99
        line_start: 74
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<std::tuple<T...>>
      pos:
        line_end: 110
        line_start: 103
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<std::string>
      pos:
        line_end: 132
        line_start: 116
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<fixed_uint_t<N>>
      pos:
        line_end: 155
        line_start: 137
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<bool>
      pos:
        line_end: 166
        line_start: 159
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<std::bitset<N>>
      pos:
        line_end: 186
        line_start: 170
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<std::optional<T>>
      pos:
        line_end: 201
        line_start: 190
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<std::array<T, N>>
      pos:
        line_end: 220
        line_start: 205
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<std::vector<T>>
      pos:
        line_end: 239
        line_start: 224
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<std::vector<uint8_t>>
      pos:
        line_end: 255
        line_start: 243
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<SecureBuffer>
      pos:
        line_end: 271
        line_start: 259
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<std::span<const uint8_t>>
      pos:
        line_end: 287
        line_start: 275
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<std::string_view>
      pos:
        line_end: 303
        line_start: 291
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<std::variant<T...>>
      pos:
        line_end: 317
        line_start: 307
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<Payload>
      pos:
        line_end: 333
        line_start: 321
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle
      pos:
        line_end: 99
        line_start: 74
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<std::tuple<T...>>
      pos:
        line_end: 110
        line_start: 103
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<std::string>
      pos:
        line_end: 132
        line_start: 116
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<fixed_uint_t<N>>
      pos:
        line_end: 155
        line_start: 137
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<bool>
      pos:
        line_end: 166
        line_start: 159
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<std::bitset<N>>
      pos:
        line_end: 186
        line_start: 170
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<std::optional<T>>
      pos:
        line_end: 201
        line_start: 190
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<std::array<T, N>>
      pos:
        line_end: 220
        line_start: 205
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<std::vector<T>>
      pos:
        line_end: 239
        line_start: 224
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<std::vector<uint8_t>>
      pos:
        line_end: 255
        line_start: 243
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<SecureBuffer>
      pos:
        line_end: 271
        line_start: 259
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<std::span<const uint8_t>>
      pos:
        line_end: 287
        line_start: 275
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<std::string_view>
      pos:
        line_end: 303
        line_start: 291
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<std::variant<T...>>
      pos:
        line_end: 317
        line_start: 307
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    - fields: []
      item_type: struct
      name: PackSingle<Payload>
      pos:
        line_end: 333
        line_start: 321
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/pack.hpp
    typedefs: []
    union: []
- function_names:
  - types::enum_cast
  - types::enum_cast
  source_file: /src/phosphor-host-ipmid/include/ipmid/message/types.hpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: value
        type: bitcount_t
      item_type: struct
      name: Size
      pos:
        line_end: 93
        line_start: 90
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/types.hpp
    - fields:
      - name: value
        type: bitcount_t
      item_type: struct
      name: Size
      pos:
        line_end: 93
        line_start: 90
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/types.hpp
    - fields:
      - name: value
        type: bitcount_t
      item_type: struct
      name: Size
      pos:
        line_end: 93
        line_start: 90
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/types.hpp
    - fields:
      - name: value
        type: bitcount_t
      item_type: struct
      name: Size
      pos:
        line_end: 93
        line_start: 90
        source_file: /src/phosphor-host-ipmid/include/ipmid/message/types.hpp
    typedefs: []
    union: []
- function_names:
  - ipmi::ipmiUserInit
  - ipmi::ipmiUserGetPassword
  - ipmi::ipmiClearUserEntryPassword
  - ipmi::ipmiRenameUserEntryPassword
  - ipmi::ipmiUserIsValidUserId
  - ipmi::ipmiUserIsValidPrivilege
  - ipmi::ipmiUserGetUserId
  - ipmi::ipmiUserSetUserName
  - ipmi::ipmiUserSetUserName
  - ipmi::ipmiUserGetUserName
  - ipmi::ipmiUserSetUserPassword
  - ipmi::ipmiSetSpecialUserPassword
  - ipmi::ipmiUserGetAllCounts
  - ipmi::ipmiUserUpdateEnabledState
  - ipmi::ipmiUserCheckEnabled
  - ipmi::ipmiUserGetPrivilegeAccess
  - ipmi::ipmiUserSetPrivilegeAccess
  - ipmi::ipmiUserPamAuthenticate
  - ipmi::ipmiUserSetUserPayloadAccess
  - ipmi::ipmiUserGetUserPayloadAccess
  - ipmi::ipmiUserInit
  - ipmi::ipmiUserGetPassword
  - ipmi::ipmiClearUserEntryPassword
  - ipmi::ipmiRenameUserEntryPassword
  - ipmi::ipmiUserIsValidUserId
  - ipmi::ipmiUserIsValidPrivilege
  - ipmi::ipmiUserGetUserId
  - ipmi::ipmiUserSetUserName
  - ipmi::ipmiUserSetUserName
  - ipmi::ipmiUserGetUserName
  - ipmi::ipmiUserSetUserPassword
  - ipmi::ipmiSetSpecialUserPassword
  - ipmi::ipmiUserGetAllCounts
  - ipmi::ipmiUserUpdateEnabledState
  - ipmi::ipmiUserCheckEnabled
  - ipmi::ipmiUserGetPrivilegeAccess
  - ipmi::ipmiUserSetPrivilegeAccess
  - ipmi::ipmiUserPamAuthenticate
  - ipmi::ipmiUserSetUserPayloadAccess
  - ipmi::ipmiUserGetUserPayloadAccess
  source_file: /src/phosphor-host-ipmid/user_channel/user_layer.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ipmi::responseActionNotSupportedForChannel
  - ipmi::responseAccessModeNotSupportedForChannel
  - ipmi::convertCurrentChannelNum
  - ipmi::responseActionNotSupportedForChannel
  - ipmi::responseAccessModeNotSupportedForChannel
  - ipmi::convertCurrentChannelNum
  source_file: /src/phosphor-host-ipmid/user_channel/channel_layer.hpp
  types:
    enum:
    - enumerators:
      - name: na
        value: '0x00'
      - name: ipmiSmbus
        value: '0x04'
      - name: reserved
        value: '0x03'
      - name: icmbV11
        value: '0x02'
      - name: ipmbV10
        value: '0x01'
      - name: kcs
        value: '0x05'
      - name: smic
        value: '0x06'
      - name: bt10
        value: '0x07'
      - name: bt15
        value: '0x08'
      - name: tMode
        value: '0x09'
      - name: oem
        value: '0x1C'
      item_type: enum
      name: EChannelProtocolType
      pos:
        line_end: 64
        line_start: 51
        source_file: /src/phosphor-host-ipmid/user_channel/channel_layer.hpp
    - enumerators:
      - name: reserved
        value: '0x00'
      - name: ipmb
        value: '0x01'
      - name: lan8032
        value: '0x04'
      - name: icmbV09
        value: '0x03'
      - name: icmbV10
        value: '0x02'
      - name: serial
        value: '0x05'
      - name: otherLan
        value: '0x06'
      - name: pciSmbus
        value: '0x07'
      - name: smbusV11
        value: '0x08'
      - name: smbusV20
        value: '0x09'
      - name: systemInterface
        value: '0x0C'
      - name: oem
        value: '0x60'
      - name: usbV1x
        value: '0x0A'
      - name: unknown
        value: '0x82'
      - name: usbV2x
        value: '0x0B'
      item_type: enum
      name: EChannelMediumType
      pos:
        line_end: 86
        line_start: 69
        source_file: /src/phosphor-host-ipmid/user_channel/channel_layer.hpp
    - enumerators:
      - name: none
        value: '0'
      - name: multi
        value: '2'
      - name: any
        value: '3'
      - name: single
        value: '1'
      item_type: enum
      name: EChannelSessSupported
      pos:
        line_end: 98
        line_start: 92
        source_file: /src/phosphor-host-ipmid/user_channel/channel_layer.hpp
    - enumerators:
      - name: disabled
        value: '0'
      - name: shared
        value: '3'
      - name: alwaysAvail
        value: '2'
      - name: preboot
        value: '1'
      item_type: enum
      name: EChannelAccessMode
      pos:
        line_end: 109
        line_start: 103
        source_file: /src/phosphor-host-ipmid/user_channel/channel_layer.hpp
    - enumerators:
      - name: none
        value: (1 << 0x0)
      - name: md5
        value: (1 << 0x2)
      - name: reserved
        value: (1 << 0x3)
      - name: md2
        value: (1 << 0x1)
      - name: straightPasswd
        value: (1 << 0x4)
      - name: oem
        value: (1 << 0x5)
      item_type: enum
      name: EAuthType
      pos:
        line_end: 123
        line_start: 115
        source_file: /src/phosphor-host-ipmid/user_channel/channel_layer.hpp
    - enumerators:
      - name: IPMI
        value: '0x00'
      - name: RAKP1
        value: '0x12'
      - name: OPEN_SESSION_RESPONSE
        value: '0x11'
      - name: OPEN_SESSION_REQUEST
        value: '0x10'
      - name: SOL
        value: '0x01'
      - name: RAKP2
        value: '0x13'
      - name: RAKP3
        value: '0x14'
      - name: RAKP4
        value: '0x15'
      - name: INVALID
        value: '0xFF'
      item_type: enum
      name: PayloadType
      pos:
        line_end: 141
        line_start: 130
        source_file: /src/phosphor-host-ipmid/user_channel/channel_layer.hpp
    - enumerators:
      - name: setAccessMode
        value: (1 << 0)
      - name: setAlertingEnabled
        value: (1 << 3)
      - name: setMsgAuthEnabled
        value: (1 << 2)
      - name: setUserAuthEnabled
        value: (1 << 1)
      - name: setPrivLimit
        value: (1 << 4)
      item_type: enum
      name: AccessSetFlag
      pos:
        line_end: 166
        line_start: 159
        source_file: /src/phosphor-host-ipmid/user_channel/channel_layer.hpp
    - enumerators:
      - name: na
        value: '0x00'
      - name: ipmiSmbus
        value: '0x04'
      - name: reserved
        value: '0x03'
      - name: icmbV11
        value: '0x02'
      - name: ipmbV10
        value: '0x01'
      - name: kcs
        value: '0x05'
      - name: smic
        value: '0x06'
      - name: bt10
        value: '0x07'
      - name: bt15
        value: '0x08'
      - name: tMode
        value: '0x09'
      - name: oem
        value: '0x1C'
      item_type: enum
      name: EChannelProtocolType
      pos:
        line_end: 64
        line_start: 51
        source_file: /src/phosphor-host-ipmid/user_channel/channel_layer.hpp
    - enumerators:
      - name: reserved
        value: '0x00'
      - name: ipmb
        value: '0x01'
      - name: lan8032
        value: '0x04'
      - name: icmbV09
        value: '0x03'
      - name: icmbV10
        value: '0x02'
      - name: serial
        value: '0x05'
      - name: otherLan
        value: '0x06'
      - name: pciSmbus
        value: '0x07'
      - name: smbusV11
        value: '0x08'
      - name: smbusV20
        value: '0x09'
      - name: systemInterface
        value: '0x0C'
      - name: oem
        value: '0x60'
      - name: usbV1x
        value: '0x0A'
      - name: unknown
        value: '0x82'
      - name: usbV2x
        value: '0x0B'
      item_type: enum
      name: EChannelMediumType
      pos:
        line_end: 86
        line_start: 69
        source_file: /src/phosphor-host-ipmid/user_channel/channel_layer.hpp
    - enumerators:
      - name: none
        value: '0'
      - name: multi
        value: '2'
      - name: any
        value: '3'
      - name: single
        value: '1'
      item_type: enum
      name: EChannelSessSupported
      pos:
        line_end: 98
        line_start: 92
        source_file: /src/phosphor-host-ipmid/user_channel/channel_layer.hpp
    - enumerators:
      - name: disabled
        value: '0'
      - name: shared
        value: '3'
      - name: alwaysAvail
        value: '2'
      - name: preboot
        value: '1'
      item_type: enum
      name: EChannelAccessMode
      pos:
        line_end: 109
        line_start: 103
        source_file: /src/phosphor-host-ipmid/user_channel/channel_layer.hpp
    - enumerators:
      - name: none
        value: (1 << 0x0)
      - name: md5
        value: (1 << 0x2)
      - name: reserved
        value: (1 << 0x3)
      - name: md2
        value: (1 << 0x1)
      - name: straightPasswd
        value: (1 << 0x4)
      - name: oem
        value: (1 << 0x5)
      item_type: enum
      name: EAuthType
      pos:
        line_end: 123
        line_start: 115
        source_file: /src/phosphor-host-ipmid/user_channel/channel_layer.hpp
    - enumerators:
      - name: IPMI
        value: '0x00'
      - name: RAKP1
        value: '0x12'
      - name: OPEN_SESSION_RESPONSE
        value: '0x11'
      - name: OPEN_SESSION_REQUEST
        value: '0x10'
      - name: SOL
        value: '0x01'
      - name: RAKP2
        value: '0x13'
      - name: RAKP3
        value: '0x14'
      - name: RAKP4
        value: '0x15'
      - name: INVALID
        value: '0xFF'
      item_type: enum
      name: PayloadType
      pos:
        line_end: 141
        line_start: 130
        source_file: /src/phosphor-host-ipmid/user_channel/channel_layer.hpp
    - enumerators:
      - name: setAccessMode
        value: (1 << 0)
      - name: setAlertingEnabled
        value: (1 << 3)
      - name: setMsgAuthEnabled
        value: (1 << 2)
      - name: setUserAuthEnabled
        value: (1 << 1)
      - name: setPrivLimit
        value: (1 << 4)
      item_type: enum
      name: AccessSetFlag
      pos:
        line_end: 166
        line_start: 159
        source_file: /src/phosphor-host-ipmid/user_channel/channel_layer.hpp
    preproc_defs: []
    structs:
    - fields:
      - name: accessMode
        type: uint8_t
      - name: userAuthDisabled
        type: bool
      - name: perMsgAuthDisabled
        type: bool
      - name: alertingDisabled
        type: bool
      - name: privLimit
        type: uint8_t
      item_type: struct
      name: ChannelAccess
      pos:
        line_end: 181
        line_start: 174
        source_file: /src/phosphor-host-ipmid/user_channel/channel_layer.hpp
    - fields:
      - name: mediumType
        type: uint8_t
      - name: protocolType
        type: uint8_t
      - name: sessionSupported
        type: uint8_t
      - name: isIpmi
        type: bool
      - name: authTypeSupported
        type: uint8_t
      item_type: struct
      name: ChannelInfo
      pos:
        line_end: 198
        line_start: 189
        source_file: /src/phosphor-host-ipmid/user_channel/channel_layer.hpp
    - fields:
      - name: accessMode
        type: uint8_t
      - name: userAuthDisabled
        type: bool
      - name: perMsgAuthDisabled
        type: bool
      - name: alertingDisabled
        type: bool
      - name: privLimit
        type: uint8_t
      item_type: struct
      name: ChannelAccess
      pos:
        line_end: 181
        line_start: 174
        source_file: /src/phosphor-host-ipmid/user_channel/channel_layer.hpp
    - fields:
      - name: mediumType
        type: uint8_t
      - name: protocolType
        type: uint8_t
      - name: sessionSupported
        type: uint8_t
      - name: isIpmi
        type: bool
      - name: authTypeSupported
        type: uint8_t
      item_type: struct
      name: ChannelInfo
      pos:
        line_end: 198
        line_start: 189
        source_file: /src/phosphor-host-ipmid/user_channel/channel_layer.hpp
    typedefs: []
    union: []
- function_names:
  - ipmi::ChannelConfig::getChannelName
  - ipmi::ChannelConfig::convertToChannelNumberFromChannelName
  - ipmi::ChannelConfig::getChannelNameFromPath
  - ipmi::ChannelConfig::processChAccessPropChange
  - ipmi::getChannelConfigObject
  - ChannelConfig::~ChannelConfig()
  - ipmi::ChannelConfig::ChannelConfig
  - ipmi::ChannelConfig::isValidChannel
  - ipmi::ChannelConfig::getChannelSessionSupport
  - ipmi::ChannelConfig::isValidAuthType
  - ipmi::ChannelConfig::getChannelActiveSessions
  - ipmi::ChannelConfig::getChannelMaxTransferSize
  - ipmi::ChannelConfig::getChannelInfo
  - ipmi::ChannelConfig::getChannelAccessData
  - ipmi::ChannelConfig::setChannelAccessData
  - ipmi::ChannelConfig::getChannelAccessPersistData
  - ipmi::ChannelConfig::setChannelAccessPersistData
  - ipmi::ChannelConfig::getChannelAuthTypeSupported
  - ipmi::ChannelConfig::getChannelEnabledAuthType
  - ipmi::ChannelConfig::getUpdatedFileTime
  - ipmi::ChannelConfig::convertToAccessModeIndex
  - ipmi::ChannelConfig::convertToAccessModeString
  - ipmi::ChannelConfig::convertToPrivLimitIndex
  - ipmi::ChannelConfig::convertToPrivLimitString
  - ipmi::ChannelConfig::convertToSessionSupportIndex
  - ipmi::ChannelConfig::convertToMediumTypeIndex
  - ipmi::ChannelConfig::convertToProtocolTypeIndex
  - ipmi::ChannelConfig::readJsonFile
  - ipmi::ChannelConfig::writeJsonFile
  - ipmi::ChannelConfig::setDefaultChannelConfig
  - ipmi::ChannelConfig::getManagementNICID
  - ipmi::ChannelConfig::loadChannelConfig
  - ipmi::ChannelConfig::readChannelVolatileData
  - ipmi::ChannelConfig::readChannelPersistData
  - ipmi::ChannelConfig::writeChannelVolatileData
  - ipmi::ChannelConfig::writeChannelPersistData
  - ipmi::ChannelConfig::checkAndReloadNVData
  - ipmi::ChannelConfig::checkAndReloadVolatileData
  - ipmi::ChannelConfig::setDbusProperty
  - ipmi::ChannelConfig::syncNetworkChannelConfig
  - ipmi::ChannelConfig::initChannelPersistData
  - ipmi::ChannelConfig::getChannelName
  - ipmi::ChannelConfig::convertToChannelNumberFromChannelName
  - ipmi::ChannelConfig::getChannelNameFromPath
  - ipmi::ChannelConfig::processChAccessPropChange
  - ipmi::getChannelConfigObject
  - ChannelConfig::~ChannelConfig()
  - ipmi::ChannelConfig::ChannelConfig
  - ipmi::ChannelConfig::isValidChannel
  - ipmi::ChannelConfig::getChannelSessionSupport
  - ipmi::ChannelConfig::isValidAuthType
  - ipmi::ChannelConfig::getChannelActiveSessions
  - ipmi::ChannelConfig::getChannelMaxTransferSize
  - ipmi::ChannelConfig::getChannelInfo
  - ipmi::ChannelConfig::getChannelAccessData
  - ipmi::ChannelConfig::setChannelAccessData
  - ipmi::ChannelConfig::getChannelAccessPersistData
  - ipmi::ChannelConfig::setChannelAccessPersistData
  - ipmi::ChannelConfig::getChannelAuthTypeSupported
  - ipmi::ChannelConfig::getChannelEnabledAuthType
  - ipmi::ChannelConfig::getUpdatedFileTime
  - ipmi::ChannelConfig::convertToAccessModeIndex
  - ipmi::ChannelConfig::convertToAccessModeString
  - ipmi::ChannelConfig::convertToPrivLimitIndex
  - ipmi::ChannelConfig::convertToPrivLimitString
  - ipmi::ChannelConfig::convertToSessionSupportIndex
  - ipmi::ChannelConfig::convertToMediumTypeIndex
  - ipmi::ChannelConfig::convertToProtocolTypeIndex
  - ipmi::ChannelConfig::readJsonFile
  - ipmi::ChannelConfig::writeJsonFile
  - ipmi::ChannelConfig::setDefaultChannelConfig
  - ipmi::ChannelConfig::getManagementNICID
  - ipmi::ChannelConfig::loadChannelConfig
  - ipmi::ChannelConfig::readChannelVolatileData
  - ipmi::ChannelConfig::readChannelPersistData
  - ipmi::ChannelConfig::writeChannelVolatileData
  - ipmi::ChannelConfig::writeChannelPersistData
  - ipmi::ChannelConfig::checkAndReloadNVData
  - ipmi::ChannelConfig::checkAndReloadVolatileData
  - ipmi::ChannelConfig::setDbusProperty
  - ipmi::ChannelConfig::syncNetworkChannelConfig
  - ipmi::ChannelConfig::initChannelPersistData
  source_file: /src/phosphor-host-ipmid/user_channel/channel_mgmt.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ipmi::getCipherConfigObject
  - ipmi::CipherConfig::CipherConfig
  - ipmi::CipherConfig::loadCSPrivilegesToMap
  - ipmi::CipherConfig::updateCSPrivilegesMap
  - ipmi::CipherConfig::readCSPrivilegeLevels
  - ipmi::CipherConfig::writeCSPrivilegeLevels
  - ipmi::CipherConfig::convertToPrivLimitIndex
  - ipmi::CipherConfig::convertToPrivLimitString
  - ipmi::CipherConfig::getCSPrivilegeLevels
  - ipmi::CipherConfig::setCSPrivilegeLevels
  - ipmi::getCipherConfigObject
  - ipmi::CipherConfig::CipherConfig
  - ipmi::CipherConfig::loadCSPrivilegesToMap
  - ipmi::CipherConfig::updateCSPrivilegesMap
  - ipmi::CipherConfig::readCSPrivilegeLevels
  - ipmi::CipherConfig::writeCSPrivilegeLevels
  - ipmi::CipherConfig::convertToPrivLimitIndex
  - ipmi::CipherConfig::convertToPrivLimitString
  - ipmi::CipherConfig::getCSPrivilegeLevels
  - ipmi::CipherConfig::setCSPrivilegeLevels
  source_file: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ipmi::ChannelConfig::ChannelConfig
  - '& operator=(const ChannelConfig&)'
  - ipmi::ChannelConfig::ChannelConfig
  - '& operator=(ChannelConfig&&)'
  - ipmi::ChannelConfig::getChannelByName
  - ipmi::ChannelConfig::ChannelConfig
  - '& operator=(const ChannelConfig&)'
  - ipmi::ChannelConfig::ChannelConfig
  - '& operator=(ChannelConfig&&)'
  - ipmi::ChannelConfig::getChannelByName
  source_file: /src/phosphor-host-ipmid/user_channel/channel_mgmt.hpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: chNonVolatileData
        type: ChannelAccess
      - name: chVolatileData
        type: ChannelAccess
      item_type: struct
      name: ChannelAccessData
      pos:
        line_end: 51
        line_start: 47
        source_file: /src/phosphor-host-ipmid/user_channel/channel_mgmt.hpp
    - fields:
      - name: chName
        type: std::string
      - name: chID
        type: uint8_t
      - name: isChValid
        type: bool
      - name: activeSessCount
        type: uint8_t
      - name: chInfo
        type: ChannelInfo
      - name: chAccess
        type: ChannelAccessData
      - name: maxTransferSize
        type: size_t
      - name: isManagementNIC
        type: bool
      item_type: struct
      name: ChannelProperties
      pos:
        line_end: 68
        line_start: 58
        source_file: /src/phosphor-host-ipmid/user_channel/channel_mgmt.hpp
    - fields:
      - name: chNonVolatileData
        type: ChannelAccess
      - name: chVolatileData
        type: ChannelAccess
      item_type: struct
      name: ChannelAccessData
      pos:
        line_end: 51
        line_start: 47
        source_file: /src/phosphor-host-ipmid/user_channel/channel_mgmt.hpp
    - fields:
      - name: chName
        type: std::string
      - name: chID
        type: uint8_t
      - name: isChValid
        type: bool
      - name: activeSessCount
        type: uint8_t
      - name: chInfo
        type: ChannelInfo
      - name: chAccess
        type: ChannelAccessData
      - name: maxTransferSize
        type: size_t
      - name: isManagementNIC
        type: bool
      item_type: struct
      name: ChannelProperties
      pos:
        line_end: 68
        line_start: 58
        source_file: /src/phosphor-host-ipmid/user_channel/channel_mgmt.hpp
    typedefs: []
    union: []
- function_names:
  - ipmi::responsePayloadTypeNotSupported
  - ipmi::ipmiSetChannelAccess
  - ipmi::ipmiGetChannelAccess
  - ipmi::ipmiGetChannelInfo
  - ipmi::standardPayloadBit
  - ipmi::sessionPayloadBit
  - ipmi::standardPayloadBit
  - ipmi::sessionPayloadBit
  - ipmi::ipmiGetChannelPayloadSupport
  - ipmi::ipmiGetChannelPayloadVersion
  - ipmi::registerChannelFunctions
  - ipmi::responsePayloadTypeNotSupported
  - ipmi::ipmiSetChannelAccess
  - ipmi::ipmiGetChannelAccess
  - ipmi::ipmiGetChannelInfo
  - ipmi::standardPayloadBit
  - ipmi::sessionPayloadBit
  - ipmi::standardPayloadBit
  - ipmi::sessionPayloadBit
  - ipmi::ipmiGetChannelPayloadSupport
  - ipmi::ipmiGetChannelPayloadVersion
  - ipmi::registerChannelFunctions
  source_file: /src/phosphor-host-ipmid/user_channel/channelcommands.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ipmi::doesDeviceExist
  - ipmi::isValidPrivLimit
  - ipmi::isValidAccessMode
  - ipmi::isValidChannel
  - ipmi::isValidAuthType
  - ipmi::getChannelSessionSupport
  - ipmi::getChannelActiveSessions
  - ipmi::getChannelMaxTransferSize
  - ipmi::ipmiChannelInit
  - ipmi::getChannelInfo
  - ipmi::getChannelAccessData
  - ipmi::setChannelAccessData
  - ipmi::getChannelAccessPersistData
  - ipmi::setChannelAccessPersistData
  - ipmi::getChannelAuthTypeSupported
  - ipmi::getChannelEnabledAuthType
  - ipmi::getChannelName
  - ipmi::getChannelByName
  - ipmi::isValidPayloadType
  - ipmi::doesDeviceExist
  - ipmi::isValidPrivLimit
  - ipmi::isValidAccessMode
  - ipmi::isValidChannel
  - ipmi::isValidAuthType
  - ipmi::getChannelSessionSupport
  - ipmi::getChannelActiveSessions
  - ipmi::getChannelMaxTransferSize
  - ipmi::ipmiChannelInit
  - ipmi::getChannelInfo
  - ipmi::getChannelAccessData
  - ipmi::setChannelAccessData
  - ipmi::getChannelAccessPersistData
  - ipmi::setChannelAccessPersistData
  - ipmi::getChannelAuthTypeSupported
  - ipmi::getChannelEnabledAuthType
  - ipmi::getChannelName
  - ipmi::getChannelByName
  - ipmi::isValidPayloadType
  source_file: /src/phosphor-host-ipmid/user_channel/channel_layer.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/phosphor-host-ipmid/user_channel/user_layer.hpp
  types:
    enum:
    - enumerators:
      - name: chanLan1
        value: '0x01'
      item_type: enum
      name: EChannelID
      pos:
        line_end: 33
        line_start: 30
        source_file: /src/phosphor-host-ipmid/user_channel/user_layer.hpp
    - enumerators:
      - name: chanLan1
        value: '0x01'
      item_type: enum
      name: EChannelID
      pos:
        line_end: 33
        line_start: 30
        source_file: /src/phosphor-host-ipmid/user_channel/user_layer.hpp
    preproc_defs: []
    structs:
    - fields: []
      item_type: struct
      name: PrivAccess
      pos:
        line_end: 65
        line_start: 49
        source_file: /src/phosphor-host-ipmid/user_channel/user_layer.hpp
    - fields:
      - name: stdPayloadEnables1
        type: std::bitset<payloadsPerByte>
      - name: stdPayloadEnables2Reserved
        type: std::bitset<payloadsPerByte>
      - name: oemPayloadEnables1
        type: std::bitset<payloadsPerByte>
      - name: oemPayloadEnables2Reserved
        type: std::bitset<payloadsPerByte>
      item_type: struct
      name: PayloadAccess
      pos:
        line_end: 78
        line_start: 72
        source_file: /src/phosphor-host-ipmid/user_channel/user_layer.hpp
    - fields: []
      item_type: struct
      name: PrivAccess
      pos:
        line_end: 65
        line_start: 49
        source_file: /src/phosphor-host-ipmid/user_channel/user_layer.hpp
    - fields:
      - name: stdPayloadEnables1
        type: std::bitset<payloadsPerByte>
      - name: stdPayloadEnables2Reserved
        type: std::bitset<payloadsPerByte>
      - name: oemPayloadEnables1
        type: std::bitset<payloadsPerByte>
      - name: oemPayloadEnables2Reserved
        type: std::bitset<payloadsPerByte>
      item_type: struct
      name: PayloadAccess
      pos:
        line_end: 78
        line_start: 72
        source_file: /src/phosphor-host-ipmid/user_channel/user_layer.hpp
    typedefs: []
    union: []
- function_names: []
  source_file: /src/phosphor-host-ipmid/user_channel/usercommands.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - phosphor::user::File::File
  - phosphor::user::File::File
  - '& operator=(const File&)'
  - phosphor::user::File::File
  - '& operator=(File&&)'
  - phosphor::user::File::File
  - phosphor::user::File::File
  - ~File()
  - operator()()
  - phosphor::user::File::File
  - phosphor::user::File::File
  - '& operator=(const File&)'
  - phosphor::user::File::File
  - '& operator=(File&&)'
  - phosphor::user::File::File
  - phosphor::user::File::File
  - ~File()
  - operator()()
  - phosphor::user::File::File
  - phosphor::user::File::File
  - '& operator=(const File&)'
  - phosphor::user::File::File
  - '& operator=(File&&)'
  - phosphor::user::File::File
  - phosphor::user::File::File
  - ~File()
  - operator()()
  - phosphor::user::File::File
  - phosphor::user::File::File
  - '& operator=(const File&)'
  - phosphor::user::File::File
  - '& operator=(File&&)'
  - phosphor::user::File::File
  - phosphor::user::File::File
  - ~File()
  - operator()()
  source_file: /src/phosphor-host-ipmid/user_channel/file.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ~CipherConfig()
  - ipmi::CipherConfig::CipherConfig
  - ~CipherConfig()
  - ipmi::CipherConfig::CipherConfig
  source_file: /src/phosphor-host-ipmid/user_channel/cipher_mgmt.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ipmi::setDbusProperty
  - ipmi::getUserAccessObject
  - ipmi::getUserNameFromPath
  - ipmi::userUpdateHelper
  - ipmi::userUpdatedSignalHandler
  - UserAccess::~UserAccess()
  - ipmi::UserAccess::UserAccess
  - ipmi::UserAccess::getUserInfo
  - ipmi::UserAccess::setUserInfo
  - ipmi::UserAccess::isValidChannel
  - ipmi::UserAccess::isValidUserId
  - ipmi::UserAccess::isValidPrivilege
  - ipmi::UserAccess::getUsrMgmtSyncIndex
  - ipmi::UserAccess::convertToIPMIPrivilege
  - ipmi::UserAccess::convertToSystemPrivilege
  - ipmi::UserAccess::isValidUserName
  - ipmi::pamFunctionConversation
  - ipmi::pamUpdatePasswd
  - ipmi::pamUserCheckAuthenticate
  - ipmi::UserAccess::setSpecialUserPassword
  - ipmi::UserAccess::setUserPassword
  - ipmi::UserAccess::setUserEnabledState
  - ipmi::UserAccess::setUserPayloadAccess
  - ipmi::UserAccess::setUserPrivilegeAccess
  - ipmi::UserAccess::getUserId
  - ipmi::UserAccess::getUserName
  - ipmi::UserAccess::isIpmiInAvailableGroupList
  - ipmi::UserAccess::setUserName
  - ipmi::constructJsonPayloadEnables
  - ipmi::UserAccess::readPayloadAccessFromUserInfo
  - ipmi::UserAccess::updatePayloadAccessInUserInfo
  - ipmi::UserAccess::readUserData
  - ipmi::UserAccess::writeUserData
  - ipmi::UserAccess::addUserEntry
  - ipmi::UserAccess::deleteUserIndex
  - ipmi::UserAccess::checkAndReloadUserData
  - ipmi::UserAccess::getUsersTblPtr
  - ipmi::UserAccess::getSystemPrivAndGroups
  - ipmi::UserAccess::getUpdatedFileTime
  - ipmi::UserAccess::getUserProperties
  - ipmi::UserAccess::getUserObjProperties
  - ipmi::UserAccess::cacheUserDataFile
  - ipmi::setDbusProperty
  - ipmi::getUserAccessObject
  - ipmi::getUserNameFromPath
  - ipmi::userUpdateHelper
  - ipmi::userUpdatedSignalHandler
  - UserAccess::~UserAccess()
  - ipmi::UserAccess::UserAccess
  - ipmi::UserAccess::getUserInfo
  - ipmi::UserAccess::setUserInfo
  - ipmi::UserAccess::isValidChannel
  - ipmi::UserAccess::isValidUserId
  - ipmi::UserAccess::isValidPrivilege
  - ipmi::UserAccess::getUsrMgmtSyncIndex
  - ipmi::UserAccess::convertToIPMIPrivilege
  - ipmi::UserAccess::convertToSystemPrivilege
  - ipmi::UserAccess::isValidUserName
  - ipmi::pamFunctionConversation
  - ipmi::pamUpdatePasswd
  - ipmi::pamUserCheckAuthenticate
  - ipmi::UserAccess::setSpecialUserPassword
  - ipmi::UserAccess::setUserPassword
  - ipmi::UserAccess::setUserEnabledState
  - ipmi::UserAccess::setUserPayloadAccess
  - ipmi::UserAccess::setUserPrivilegeAccess
  - ipmi::UserAccess::getUserId
  - ipmi::UserAccess::getUserName
  - ipmi::UserAccess::isIpmiInAvailableGroupList
  - ipmi::UserAccess::setUserName
  - ipmi::constructJsonPayloadEnables
  - ipmi::UserAccess::readPayloadAccessFromUserInfo
  - ipmi::UserAccess::updatePayloadAccessInUserInfo
  - ipmi::UserAccess::readUserData
  - ipmi::UserAccess::writeUserData
  - ipmi::UserAccess::addUserEntry
  - ipmi::UserAccess::deleteUserIndex
  - ipmi::UserAccess::checkAndReloadUserData
  - ipmi::UserAccess::getUsersTblPtr
  - ipmi::UserAccess::getSystemPrivAndGroups
  - ipmi::UserAccess::getUpdatedFileTime
  - ipmi::UserAccess::getUserProperties
  - ipmi::UserAccess::getUserObjProperties
  - ipmi::UserAccess::cacheUserDataFile
  source_file: /src/phosphor-host-ipmid/user_channel/user_mgmt.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ipmi::PasswdMgr::PasswdMgr
  - ipmi::PasswdMgr::restrictFilesPermission
  - ipmi::PasswdMgr::getPasswdByUserName
  - ipmi::PasswdMgr::updateUserEntry
  - ipmi::PasswdMgr::checkAndReload
  - ipmi::PasswdMgr::encryptDecryptData
  - ipmi::PasswdMgr::initPasswordMap
  - ipmi::PasswdMgr::readPasswdFileData
  - ipmi::PasswdMgr::updatePasswdSpecialFile
  - ipmi::PasswdMgr::getUpdatedFileTime
  - ipmi::PasswdMgr::PasswdMgr
  - ipmi::PasswdMgr::restrictFilesPermission
  - ipmi::PasswdMgr::getPasswdByUserName
  - ipmi::PasswdMgr::updateUserEntry
  - ipmi::PasswdMgr::checkAndReload
  - ipmi::PasswdMgr::encryptDecryptData
  - ipmi::PasswdMgr::initPasswordMap
  - ipmi::PasswdMgr::readPasswdFileData
  - ipmi::PasswdMgr::updatePasswdSpecialFile
  - ipmi::PasswdMgr::getUpdatedFileTime
  source_file: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: META_PASSWD_SIG
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp
      type_or_value: '"=OPENBMC="'
    - item_type: preproc_def
      name: META_PASSWD_SIG
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp
      type_or_value: '"=OPENBMC="'
    structs:
    - fields:
      - name: signature[10]
        type: char
      - name: reserved[2]
        type: unsigned char
      - name: hashSize
        type: size_t
      - name: ivSize
        type: size_t
      - name: dataSize
        type: size_t
      - name: padSize
        type: size_t
      - name: macSize
        type: size_t
      item_type: struct
      name: MetaPassStruct
      pos:
        line_end: 59
        line_start: 50
        source_file: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp
    - fields:
      - name: signature[10]
        type: char
      - name: reserved[2]
        type: unsigned char
      - name: hashSize
        type: size_t
      - name: ivSize
        type: size_t
      - name: dataSize
        type: size_t
      - name: padSize
        type: size_t
      - name: macSize
        type: size_t
      item_type: struct
      name: MetaPassStruct
      pos:
        line_end: 59
        line_start: 50
        source_file: /src/phosphor-host-ipmid/user_channel/passwd_mgr.cpp
    typedefs: []
    union: []
- function_names:
  - ipmi::responsePasswdFailMismatch
  - ipmi::ipmiSetUserAccess
  - ipmi::ipmiGetUserAccess
  - ipmi::ipmiSetUserName
  - ipmi::ipmiGetUserName
  - ipmi::ipmiSetUserPassword
  - ipmi::ipmiGetChannelAuthenticationCapabilities
  - ipmi::ipmiSetUserPayloadAccess
  - ipmi::ipmiGetUserPayloadAccess
  - ipmi::registerUserIpmiFunctions
  - ipmi::responsePasswdFailMismatch
  - ipmi::ipmiSetUserAccess
  - ipmi::ipmiGetUserAccess
  - ipmi::ipmiSetUserName
  - ipmi::ipmiGetUserName
  - ipmi::ipmiSetUserPassword
  - ipmi::ipmiGetChannelAuthenticationCapabilities
  - ipmi::ipmiSetUserPayloadAccess
  - ipmi::ipmiGetUserPayloadAccess
  - ipmi::registerUserIpmiFunctions
  source_file: /src/phosphor-host-ipmid/user_channel/usercommands.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ~PasswdMgr()
  - ipmi::PasswdMgr::PasswdMgr
  - '& operator=(const PasswdMgr&)'
  - ipmi::PasswdMgr::PasswdMgr
  - '& operator=(PasswdMgr&&)'
  - ~PasswdMgr()
  - ipmi::PasswdMgr::PasswdMgr
  - '& operator=(const PasswdMgr&)'
  - ipmi::PasswdMgr::PasswdMgr
  - '& operator=(PasswdMgr&&)'
  source_file: /src/phosphor-host-ipmid/user_channel/passwd_mgr.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ipmi::safeUsernameLength
  - ipmi::safeUsernameString
  - ipmi::safeUsernameAssign
  - ipmi::safeUsernameCopyToBuffer
  - ipmi::UserAccess::UserAccess
  - '& operator=(const UserAccess&)'
  - ipmi::UserAccess::UserAccess
  - '& operator=(UserAccess&&)'
  - ipmi::safeUsernameLength
  - ipmi::safeUsernameString
  - ipmi::safeUsernameAssign
  - ipmi::safeUsernameCopyToBuffer
  - ipmi::UserAccess::UserAccess
  - '& operator=(const UserAccess&)'
  - ipmi::UserAccess::UserAccess
  - '& operator=(UserAccess&&)'
  source_file: /src/phosphor-host-ipmid/user_channel/user_mgmt.hpp
  types:
    enum:
    - enumerators:
      - name: reservedEvent
      - name: userCreated
      - name: userDeleted
      - name: userRenamed
      - name: userGrpUpdated
      - name: userPrivUpdated
      - name: userStateUpdated
      item_type: enum
      name: UserUpdateEvent
      pos:
        line_end: 138
        line_start: 129
        source_file: /src/phosphor-host-ipmid/user_channel/user_mgmt.hpp
    - enumerators:
      - name: reservedEvent
      - name: userCreated
      - name: userDeleted
      - name: userRenamed
      - name: userGrpUpdated
      - name: userPrivUpdated
      - name: userStateUpdated
      item_type: enum
      name: UserUpdateEvent
      pos:
        line_end: 138
        line_start: 129
        source_file: /src/phosphor-host-ipmid/user_channel/user_mgmt.hpp
    preproc_defs: []
    structs:
    - fields:
      - name: privilege
        type: uint8_t
      - name: ipmiEnabled
        type: bool
      - name: linkAuthEnabled
        type: bool
      - name: accessCallback
        type: bool
      item_type: struct
      name: UserPrivAccess
      pos:
        line_end: 150
        line_start: 144
        source_file: /src/phosphor-host-ipmid/user_channel/user_mgmt.hpp
    - fields:
      - name: userName[ipmiMaxUserName]
        type: uint8_t
      - name: userPrivAccess[ipmiMaxChannels]
        type: UserPrivAccess
      - name: userEnabled
        type: bool
      - name: userInSystem
        type: bool
      - name: fixedUserName
        type: bool
      - name: payloadAccess[ipmiMaxChannels]
        type: PayloadAccess
      item_type: struct
      name: UserInfo
      pos:
        line_end: 164
        line_start: 156
        source_file: /src/phosphor-host-ipmid/user_channel/user_mgmt.hpp
    - fields:
      - name: user[ipmiMaxUsers + 1]
        type: UserInfo
      item_type: struct
      name: UsersTbl
      pos:
        line_end: 174
        line_start: 170
        source_file: /src/phosphor-host-ipmid/user_channel/user_mgmt.hpp
    - fields:
      - name: privilege
        type: uint8_t
      - name: ipmiEnabled
        type: bool
      - name: linkAuthEnabled
        type: bool
      - name: accessCallback
        type: bool
      item_type: struct
      name: UserPrivAccess
      pos:
        line_end: 150
        line_start: 144
        source_file: /src/phosphor-host-ipmid/user_channel/user_mgmt.hpp
    - fields:
      - name: userName[ipmiMaxUserName]
        type: uint8_t
      - name: userPrivAccess[ipmiMaxChannels]
        type: UserPrivAccess
      - name: userEnabled
        type: bool
      - name: userInSystem
        type: bool
      - name: fixedUserName
        type: bool
      - name: payloadAccess[ipmiMaxChannels]
        type: PayloadAccess
      item_type: struct
      name: UserInfo
      pos:
        line_end: 164
        line_start: 156
        source_file: /src/phosphor-host-ipmid/user_channel/user_mgmt.hpp
    - fields:
      - name: user[ipmiMaxUsers + 1]
        type: UserInfo
      item_type: struct
      name: UsersTbl
      pos:
        line_end: 174
        line_start: 170
        source_file: /src/phosphor-host-ipmid/user_channel/user_mgmt.hpp
    typedefs: []
    union: []
- function_names:
  - phosphor::user::shadow::Lock::Lock
  - '& operator=(const Lock&)'
  - phosphor::user::shadow::Lock::Lock
  - '& operator=(Lock&&)'
  - phosphor::user::shadow::Lock::Lock
  - ~Lock()
  - phosphor::user::shadow::Lock::Lock
  - '& operator=(const Lock&)'
  - phosphor::user::shadow::Lock::Lock
  - '& operator=(Lock&&)'
  - phosphor::user::shadow::Lock::Lock
  - ~Lock()
  - phosphor::user::shadow::Lock::Lock
  - '& operator=(const Lock&)'
  - phosphor::user::shadow::Lock::Lock
  - '& operator=(Lock&&)'
  - phosphor::user::shadow::Lock::Lock
  - ~Lock()
  - phosphor::user::shadow::Lock::Lock
  - '& operator=(const Lock&)'
  - phosphor::user::shadow::Lock::Lock
  - '& operator=(Lock&&)'
  - phosphor::user::shadow::Lock::Lock
  - ~Lock()
  - phosphor::user::shadow::Lock::Lock
  - '& operator=(const Lock&)'
  - phosphor::user::shadow::Lock::Lock
  - '& operator=(Lock&&)'
  - phosphor::user::shadow::Lock::Lock
  - ~Lock()
  - phosphor::user::shadow::Lock::Lock
  - '& operator=(const Lock&)'
  - phosphor::user::shadow::Lock::Lock
  - '& operator=(Lock&&)'
  - phosphor::user::shadow::Lock::Lock
  - ~Lock()
  - phosphor::user::shadow::Lock::Lock
  - '& operator=(const Lock&)'
  - phosphor::user::shadow::Lock::Lock
  - '& operator=(Lock&&)'
  - phosphor::user::shadow::Lock::Lock
  - ~Lock()
  - phosphor::user::shadow::Lock::Lock
  - '& operator=(const Lock&)'
  - phosphor::user::shadow::Lock::Lock
  - '& operator=(Lock&&)'
  - phosphor::user::shadow::Lock::Lock
  - ~Lock()
  source_file: /src/phosphor-host-ipmid/user_channel/shadowlock.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
